Java のクラス内でコンストラクターを呼び出す
さまざまなオブジェクト初期化シナリオを処理するために、Java クラス内に複数のコンストラクターを作成するのが一般的です。あるコンストラクターが同じクラス内の別のコンストラクターを呼び出すことができるかという、ユニークな疑問が生じます。この概念を理解すると、カスタマイズ可能なコンストラクターを作成し、コード構成を維持する能力が強化されます。
あるコンストラクターを別のコンストラクターから呼び出すには、キーワード this を使用する必要があります。例:
public class Test { private int age; public Test() { this(18); } public Test(int age) { this.age = age; } }
この場合、引数のない最初のコンストラクターは、引数 18 を持つ 2 番目のコンストラクターを呼び出します。これにより、呼び出し側が年齢フィールドをデフォルト値で初期化できます。明示的な年齢値を指定します。
ただし、コンストラクターの連鎖は、同じクラスからのコンストラクターの呼び出しに限定されないことに注意してください。 super キーワードを使用してスーパークラス コンストラクターを呼び出すこともできます。
public class Child extends Parent { public Child() { super(10); } }
ここでは、子クラス コンストラクターは、引数 10 を使用して親クラス コンストラクターを呼び出します。これは、初期化に特に便利です。
ドキュメントで強調されているように、コンストラクター本体内で許可されるコンストラクター呼び出しは 1 つだけであり、それは最初のものである必要があります。 声明。これにより、他のコードを実行する前にオブジェクトが適切に初期化されることが保証されます。さらに、スーパークラス コンストラクターを呼び出すときにも同じ原則が適用されます。
あるコンストラクターを別のコンストラクターから呼び出す機能を理解することで、再利用可能で柔軟なコンストラクターを作成し、コードの可読性を高め、オブジェクト初期化プロセスの一貫性を維持できます。
以上がJava コンストラクターは相互に呼び出しできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。