Java のコンストラクターは、クラスのオブジェクトを初期化するために使用される特別なタイプのメソッドです。コンストラクターは、クラスのオブジェクト作成時に呼び出されます。メソッドと同様に、メソッドにも一連のコード行が含まれていますが、メソッドとはまったく異なります。コンストラクターの名前は Java クラスと同じですが、戻り値の型はありません。 Java では、オブジェクトの作成に new() キーワードが使用され、新しいオブジェクトが作成されて 1 つのコンストラクターが呼び出されるたびに使用されます。コンストラクターは、メモリがオブジェクトに割り当てられた後に呼び出されます。オブジェクトの作成時に、コンストラクターを使用してクラス変数の値をデフォルトまたは目的の値に初期化します。
ユーザーがプログラム内でコンストラクターを作成しない場合、Java 自体がそのコンストラクターのデフォルト コンストラクターを作成し、数値のデフォルト値は 0、文字 (' ') の場合はデフォルト値、参照変数は次のようにさまざまなオブジェクトにデフォルト値を割り当てます。ヌル。メソッドと同様に、コンストラクターもオーバーロードできます。つまり、すべてのコンストラクターに一意のシグネチャがある場合、1 つのクラスに多数のコンストラクターを含めることができます。
広告 このカテゴリーの人気コース JAVA マスタリー - スペシャライゼーション | 78 コース シリーズ | 15 回の模擬テストJava のコンストラクターの基本構文を以下に示します。
構文:
public class Student() // name of the class { . . . . . . . . . . . . Student() // this is Constructor with the same name of class { . . . . . . } new Student(); // object creation and value initialization }
上記の構文では、Student() はコンストラクターの名前であり、クラスの名前と同じであり、Java のオブジェクトはキーワード new を使用して作成されます。
Java のコンストラクターの動作を理解するために、以下の例を見てみましょう:
コード:
public class Student() { int rollno; String name; Student(int rollno, String name) { this.rollno = rollno; this.name = name; } public static void main(String[] args) { Student st = new Student(12, 'Ananya'); System.out.println("Student name = "+ st.name + "Student rollno = "+st.rollno); } }
出力:
上記の例では、インスタンス変数 (クラス変数) があります。ロール番号と名前と st は、クラス Student で作成されたオブジェクトの名前です。オブジェクトが作成されると、コンストラクター Student が呼び出され、ロール番号の値が 12、名前が「Ananya」としてクラス変数が初期化されます。それ以外の場合は、rollno の 0 や名前の null などのデフォルト値が変数に割り当てられます。したがって、値を割り当てて印刷すると、学生の名前は Ananya として印刷され、学生ロール番号は 12 として印刷されます。
Java にはパラメータに基づいた 2 種類のコンストラクタがあります:
コンストラクターで引数を渡さない場合、そのコンストラクターはパラメーター化されていないコンストラクター、または引数のないコンストラクターと呼ばれます。プログラマーが Java プログラムでコンストラクターを定義しない場合、Java コンパイラー自体が、デフォルト コンストラクターと呼ばれるコンストラクターを追加します。このコンストラクターは、0、null などのデフォルト値をオブジェクトに提供します。デフォルト コンストラクターは、特別なタイプのコンストラクターではありません。ただし、引数なしのコンストラクターのカテゴリに分類されます。
コード:
public class Hello() { String name; void display() //method to display name the value of variables { System.out.println("name is" +name); } } public class HelloMain() { public static void main(String[] args) { Hello h1 = new Hello(); h1.display(); } }
出力:
上記の例では、これはプログラマによって定義されたコンストラクターではないため、コンパイラーはこのプログラムを次のように処理します。
コード:
public class Hello() { String name; Hello() //default constructor created by compiler { name = null } void display() { System.out.println("name is" +name); } } public class HelloMain() { public static void main(String[] args) { Hello h1 = new Hello(); h1.display(); } }
コード:
public DemoProgram() // class { DemoProgram() // constructor with no arguments { System.out.println("Hello this is just an example of no-arg constructor"); } public static void main(String[] args) { new DermoProgram(); } }
出力:
上記の例のように、コンストラクター DemoProgram() の場合、引数は渡されず、メッセージのみが出力されるため、引数なしのコンストラクターと呼ばれます。
パラメーター化されたコンストラクターは、引数またはパラメーターを渡すコンストラクターです。このコンストラクターでは、オブジェクトの作成時に値が渡されます。
コード:
public class Animal() { int legs; String sound; Animal(int legs, String sound) // parameterized constructor { this.legs = legs; // values with get initialize of what is passed while object crea-this.sound = sound; // tion, i.e. (4, “bow bow”) } void display() // method to display the values { System.out.println("Legs are "+legs+"Sound is "+sound); } } class AnimalPlanet() { public static void main(String[] args) { Animal an = new Animal(4, "bow bow"); an.display(); } }
出力:
上記の例では、コンストラクター Animal で値 4 が脚に割り当てられ、文字列「bow bow」がサウンドに割り当てられます。したがって、display メソッドが呼び出されると、両方の値が出力に表示されます。
Java プログラミング言語を使用する場合、コンストラクターは重要な役割を果たします。コンストラクター、さまざまなタイプのコンストラクター、コンストラクター チェーン、および特定のシナリオに従って動作するように親コンストラクターを呼び出すために使用される super() キーワードの完全な概念を理解する必要があります。 Java でのコンストラクターの操作はメソッドの操作と同様に非常に簡単ですが、いくつかの特定のポイントを徹底的に学習する必要があります。
以上がJavaのコンストラクターの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。