Java の「void」コンストラクターと「non void」コンストラクター: 違いを明らかにする
Java では、コンストラクターの概念が重要な役割を果たしますオブジェクトの初期化中。ただし、提供されているコード スニペットに示されているように、void 型または非 void 型のいずれかを返すコンストラクターを扱うときは、特定のニュアンスが生じます。
コンストラクターとメソッドの区別
まず、コンストラクターはメソッドとは異なるものであることを理解することが不可欠です。コンストラクターはクラスの名前を持ち、オブジェクトの状態を初期化するためにのみ機能し、値を返す機能はありません。戻り値の型でコンストラクターを宣言しようとすると、それが void であっても、コンストラクターではなくメソッドが作成されます。
静的フィールドの変更への影響
それでは、質問に示されているコードスニペットを考えてみましょう。最初のスニペットでは、非 void コンストラクターが定義されており、コンストラクター内で da メソッドを呼び出すことができます。このアクションにより、クラスの静的フィールド値が増加します。したがって、クラスの複数のインスタンスが作成されると、静的フィールドは増分された値を保持します。
ただし、2 番目のスニペットでは、 void コンストラクターが宣言されています。戻り値の型がないため、コンストラクター宣言内のコードはメソッドとして扱われ、コンストラクター内から da メソッドを直接呼び出すことができなくなります。その結果、静的フィールドは変更されず、オブジェクト作成後もその値は 0 のままになります。
結論
Java では、コンストラクターとメソッドの区別。 void 戻り値の型はメソッドにのみ適用され、コンストラクターには適用されません。これを理解することで、オブジェクトの適切な初期化と、静的フィールドの変更を伴う後続のコード実行での予期される動作が保証されます。
以上がJava コンストラクター: Void と非 Void の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。