Javaでコンストラクターのオーバーロードを最適に実装する方法は?



この記事では、Javaでのコンストラクターのオーバーロードについて紹介します。説明の後に、プログラムによるデモンストレーションが続きます。

Javaの出現はプログラミングの世界を席巻しました。その主な理由は、Javaがもたらした機能の数です。この記事では、コンストラクターのオーバーロードについて説明します。 。この記事では、次のポイントについて説明します。

それでは始めましょう、





Javaでのコンストラクターのオーバーロード

コンストラクターとは何ですか?

コンストラクターは、クラスのオブジェクトを作成するために使用されるコードのブロックです。通常のクラスであれ抽象クラスであれ、すべてのクラスにはコンストラクターがあります。コンストラクターはメソッドと同じですが、戻り値の型がありません。クラスにコンストラクターが定義されていない場合、デフォルトのコンストラクターがコンパイラーによって作成されます。

PowerBIのDaxとは



public class Student {//コンストラクタなしprivateString name private int age private String std //ゲッターとセッターpublicvoid display(){System.out.println(this.getName()+ '' + this.getAge()+ ' '+ this.getStd())} public static void main(String args []){// Studentクラスの表示メソッドを使用するには、StudentStudentのオブジェクトを作成しますstudent = new Student()//コンストラクターを定義していないため、コンパイラはデフォルトのコンストラクタを作成します。そのため、student.display()}}

上記のプログラムでは、デフォルトのコンストラクターがコンパイラーによって作成されるため、オブジェクトが作成されます。コンストラクターが必要です。

これにより、この記事の次の記事に進みます。Javaでのコンストラクタのオーバーロード。

他のコンストラクターの必要性

上記の例では、Studentオブジェクトはデフォルトのコンストラクターでのみ作成できます。学生の他のすべての属性が初期化されていない場合。ただし、オブジェクトの状態を初期化するために使用される特定の他のコンストラクターが存在する場合があります。例–



public class Student {//属性Stringname int age String std //コンストラクタpublicStudent(String name){//コンストラクタ1 this.name = name} public Student(String name、String std){//コンストラクタ2 this.name = name this.std = std} public Student(String name、String std、int age){//コンストラクター3 this.name = name this.std = std this.age = age} public void display(){System.out .println(this.getName()+ '' + this.getAge()+ '' + this.getStd())} public static void main(String args []){Student stu1 = new Student( 'ABC')stu1 .display()Student stu2 = new Student( 'DEF'、 '5-C')stu2.display()Student stu3 = new Student( 'GHI'、 '6-C'、12)stu3.display()}}

これにより、この記事の次の記事に進みます。Javaでのコンストラクタのオーバーロード。

this()リファレンス

this()参照は、パラメーター化されたコンストラクター内で使用して、デフォルトのコンストラクターを暗黙的に呼び出すことができます。 this()は、コンストラクター内の最初のステートメントである必要があることに注意してください。

public Student(){} //コンストラクター4public Student(String name、String std、int age){//コンストラクター3 this()//デフォルトのコンストラクターを呼び出します。 *コンストラクターの最初のステートメントでない場合、エラーが発生します* this.name = name this.std = std this.age = age

注意

  • 再帰的なコンストラクターの呼び出しはJavaでは無効です
  • パラメータ化されたコンストラクタを定義した場合、コンパイラはデフォルトのコンストラクタを作成しません。逆に、コンストラクターを定義しない場合、コンパイラーはコンパイル時にデフォルトのコンストラクター(引数なしコンストラクターとも呼ばれます)を作成します。
  • コンストラクターの呼び出しは、Javaのコンストラクターの最初のステートメントである必要があります

これで、「Javaでのコンストラクターのオーバーロード」に関するこの記事は終わりです。詳細を知りたい場合は、 信頼できるオンライン学習会社であるEdurekaによる。 EdurekaのJavaJ2EEおよびSOAトレーニングおよび認定コースは、Hibernate&SpringなどのさまざまなJavaフレームワークに加えて、コアJavaコンセプトと高度なJavaコンセプトの両方についてトレーニングするように設計されています。

質問がありますか?このブログのコメントセクションでそれについて言及してください。できるだけ早くご連絡いたします。