super() キーワードは、Java サブクラス コンストラクターで親クラスのコンストラクターを呼び出し、親クラスのインスタンス変数が正しく初期化されていることを確認するために使用されます。構文は super() (パラメーターなし) または super です。 (パラメーター)。
super(): Java での親クラスのコンストラクター呼び出し
Java では、super ( )
キーワードは、親クラスのコンストラクターを呼び出すために使用されます。これはサブクラス コンストラクターの最初のステートメントであり、親クラスのインスタンス変数を初期化する役割を果たします。
なぜ親クラスのコンストラクターを呼び出す必要があるのでしょうか?
サブクラスがインスタンス化されると、Java は最初に親クラスのコンストラクターを呼び出します。これにより、親クラスのインスタンス変数が正しく初期化されることが保証されます。子クラスが親クラスのコンストラクターを明示的に呼び出さない場合、Java は自動的に引数なしのコンストラクターを呼び出します。ただし、呼び出されるコンストラクターを明確に指定し、予期しない動作を回避できるため、親クラスのコンストラクターを明示的に呼び出すことをお勧めします。
構文:
super()
キーワードはパラメータ付きまたはパラメータなしで使用できます:
例:
<code class="java">// 父类 Animal class Animal { private String name; public Animal(String name) { this.name = name; } } // 子类 Dog class Dog extends Animal { private int age; public Dog(String name, int age) { // 调用父类的带参构造函数 super(name); this.age = age; } }</code>
上の例では、super(name )
、これは name
を渡します。パラメータを親クラス Animal
のパラメータ化されたコンストラクタに追加します。これにより、Animal
クラスの name
インスタンス変数が正しく初期化されます。
親クラスにパラメーターなしのコンストラクターがない場合、サブクラスは親クラスのパラメーター化されたコンストラクターを明示的に呼び出す必要があります。 以上がJavaでのsuper()は何を意味しますかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。