public class Person {
// フィールド: 名前と年齢
private String name;
private int age;
// デフォルトコンストラクタ
public Person() {
// デフォルトの初期値を設定
this.name = "未設定";
this.age = 0;
}
// 他のメソッドやコードは省略
}
この例では、デフォルトコンストラクタで名前を “未設定”、年齢を 0 で初期化しています。デフォルトコンストラクタが呼ばれると、新しく Person
オブジェクトが作成され、その際に name
と age
フィールドがこのように初期化されます。
デフォルトコンストラクタ
デフォルトコンストラクタ(Default Constructor)は、引数を持たないコンストラクタのことを指します。クラスがコンストラクタを定義していない場合、Javaコンパイラは自動的にデフォルトコンストラクタを提供します。デフォルトコンストラクタは、クラス名と同じ名前を持ち、引数なしで呼び出されます。
以下に、デフォルトコンストラクタに関する重要なポイントを解説します。
1.自動生成:
クラスが明示的にコンストラクタを定義していない場合、Javaコンパイラがデフォルトコンストラクタを自動的に生成します。ただし、クラスが少なくとも1つのコンストラクタを定義している場合は、デフォルトコンストラクタは自動生成されません。
2.引数なし:
デフォルトコンストラクタは引数を受け取りません。そのため、クラス内で宣言されているフィールドを初期化するだけの基本的な初期化処理を行います。
3.初期化の役割:
デフォルトコンストラクタは、オブジェクトが生成される際に、そのオブジェクトの初期化を担当します。フィールドの初期値を設定したり、オブジェクトの状態を安定したものにするための役割があります。
4.手動で定義:
プログラマがコンストラクタを手動で定義することも可能です。この場合、引数を持たないコンストラクタを定義して、特定の初期化処理を追加することができます。
public class MyClass {
// デフォルトコンストラクタの手動定義
public MyClass() {
// 初期化処理
}
}
5.オブジェクトの生成:
デフォルトコンストラクタは、new キーワードを使用してオブジェクトを生成する際に呼び出されます。
public class MyClass {
// デフォルトコンストラクタの手動定義
public MyClass() {
// 初期化処理
}
}
デフォルトコンストラクタは、特に初学者にとっては自動的に提供されることが多いため、最初に理解するコンストラクタの一つです。クラスが特定の初期化処理を必要とする場合は、自分でコンストラクタを定義してその処理を追加することが重要です。