コンストラクタのオーバーロード Java
コンストラクタのオーバーロードとは Java?
Java コンストラクタのオーバーロードは、クラスがパラメータ リストの異なる任意の数のコンストラクタを持つことができる手法です。コンパイラは、リスト内のパラメータの数とその型を考慮して、これらのコンストラクタを区別します。
Accountクラスの有効なコンストラクタの例は以下のとおりです。
Account(int a); Account (int a,int b); Account (String a,int b);
例: コンストラクタのオーバーロードを理解する Java
ステップ1) エディターにコードを入力します。
class Demo{ int value1; int value2; /*Demo(){ value1 = 10; value2 = 20; System.out.println("Inside 1st Constructor"); }*/ Demo(int a){ value1 = a; System.out.println("Inside 2nd Constructor"); } Demo(int a,int b){ value1 = a; value2 = b; System.out.println("Inside 3rd Constructor"); } public void display(){ System.out.println("Value1 === "+value1); System.out.println("Value2 === "+value2); } public static void main(String args[]){ Demo d1 = new Demo(); Demo d2 = new Demo(30); Demo d3 = new Demo(30,40); d1.display(); d2.display(); d3.display(); } }
ステップ2) コードを保存、コンパイル、実行します。
ステップ3) エラー = ?。次の手順に進む前にエラーをデバッグしてみてください。 Java コンストラクタのオーバーロード
ステップ4) すべてのクラスにはデフォルトがあります コンストラクター Java. デフォルトのオーバーロードされたコンストラクタ Java の クラスのデモ is デモ()。 このコンストラクターを指定しない場合は、コンパイラーがコンストラクターを作成し、変数をデフォルト値に初期化します。 例 1 に示すように、このデフォルトのコンストラクターをオーバーライドして、変数を希望の値に初期化することを選択できます。
しかし、Demo(int a)のようなパラメータ化されたコンストラクタを指定し、デフォルトコンストラクタを使用したい場合 Java Demo() では、必ず指定する必要があります。
言い換えれば、オーバーロードコンストラクタが Java オーバーライドされており、デフォルトのコンストラクタを使用したい場合 Java、それを指定する必要があります。
ステップ5) 行番号 4 ~ 8 のコメントを解除します。 コードを保存、コンパイル、実行します。
なぜコンストラクタオーバーロードが必要なのか Java?
コンストラクタのオーバーロード Java クラス内に複数のコンストラクタを許可し、それぞれが異なるパラメータ リストを持つようにします。これにより柔軟性が高まり、コード効率が向上します。
- オブジェクト作成の柔軟性: コンストラクターのオーバーロードを使用すると、パラメーターの数やタイプに応じて、さまざまな方法でオブジェクトを初期化できます。
- コードの再利用性: this() キーワードを使用して、あるコンストラクターを別のコンストラクターから呼び出すことで、コンストラクター ロジックを再利用できます。
- 読みやすさの向上: オーバーロードされたコンストラクターは、さまざまな初期化のニーズに合わせて特定のコンストラクター オプションを提供することで、コードをより直感的にするのに役立ちます。
- デフォルトおよびカスタム初期化: コンストラクターのオーバーロードを使用すると、デフォルトのオブジェクトとカスタム初期化されたオブジェクトの両方を簡単に作成できます。