Java デフォルト コンストラクターの包括的な理解
Java では、デフォルト コンストラクターは、重要な役割を果たす暗黙的に生成される引数なしのコンストラクターです。クラスのコンストラクターを明示的に定義しない場合。ただし、一般的な考えに反して、他のコンストラクターを定義すると、デフォルト コンストラクターの作成が無効になります。
どちらの例もデフォルト コンストラクターではありません
質問で提供されたコンストラクターはいずれもデフォルト コンストラクターではありません両方とも引数を持っているため、デフォルトのコンストラクター。デフォルトのコンストラクターには引数はありません。
デフォルト コンストラクターの定義と生成
クラス内に他のコンストラクターが定義されていない場合、デフォルト コンストラクターは自動的に生成されます。クラスと同じアクセス修飾子を持ち、インスタンス変数をそれぞれのデフォルト値に初期化します。
たとえば、クラス Module に名前 (String)、クレジット (int)、時間 (int) の 3 つのフィールドがある場合、デフォルトのコンストラクターは次のようになります。
public Module() { this.name = null; this.credits = 0; this.hours = 0; }
他のコンストラクターを定義することの影響
少なくとも 1 つを定義するとクラスのコンストラクターの場合、デフォルトのコンストラクターは生成されません。これは、デフォルトのコンストラクターは本質的にプレースホルダーであり、独自のコンストラクターを提供すると冗長になるためです。
追加の説明
技術的にはそうではありません。フィールドをデフォルトで初期化するコンストラクター。ただし、コンストラクターはクラスのエントリ ポイントであるため、その有無はデフォルトの初期化に間接的に影響します。
以上がJava はいつデフォルト コンストラクターを生成しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。