デフォルト コンストラクター
- デフォルト コンストラクターは、スーパークラス コンストラクターへの参照を含む 0 引数のコンストラクター です。パラメータなしの呼び出し。
- 新しく作成されたオブジェクトにデフォルト値を割り当てるのは、デフォルト コンストラクターの主な役割です。
- プログラムがコンストラクターを記述しない場合にのみ、コンパイラーはコード内にデフォルトのコンストラクターを記述します。
- デフォルト コンストラクターのアクセス修飾子は常にクラス修飾子と同じですが、このルールは "public" および "default"
# にのみ適用されます。
##コンパイラがデフォルト コンストラクタを追加する場合
プログラマがコンストラクタを記述せずにコードにデフォルト コンストラクタを追加した場合にのみ、コンパイラはコードにデフォルト コンストラクタを追加します。 - プログラマがコード内にコンストラクタを記述した場合、コンパイラはコンストラクタを追加しません。
- すべてのデフォルト コンストラクターは引数 0 のコンストラクターですが、引数 0 のすべてのコンストラクターはデフォルト コンストラクターではありません。
-
パラメータ化されたコンストラクター
パラメータ化されたコンストラクターは、渡される - 特定の数のパラメーターを持つコンストラクターです。
パラメータ化されたコンストラクターの目的は、ユーザーがさまざまなオブジェクトのインスタンス変数に必要な特定の値を割り当てることです。 - パラメータ化されたコンストラクターは、プログラマによって明示的に作成されます。
- デフォルト コンストラクターのアクセス修飾子は常にクラス修飾子と同じですが、このルールは
- "public" および "default" 修飾子にのみ適用されます。
例
リアルタイム デモンストレーション
public class Student {
int roll_no;
String stu_name;
Student(int i, String n) { // Parameterized constructor
roll_no = i;
stu_name = n;
}
void display() {
System.out.println(roll_no+" "+stu_name);
}
public static void main(String args[]) {
Student s1 = new Student(1,"Adithya");
Student s2 = new Student(2,"Jai");
s1.display();
s2.display();
}
}
ログイン後にコピー
上記のプログラムでは、プログラマは 2 つのパラメーターを持つパラメーター化されたコンストラクターを定義します。現在、コンパイラーはコードにデフォルトのコンストラクターを追加せず、プログラマーは引数 0 のコンストラクターを作成しません。
出力
以上がJavaでは、デフォルトのコンストラクタとパラメータ付きコンストラクタの違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。