Java-constructors

提供:Dev Guides
移動先:案内検索

Java-コンストラクター

コンストラクターは、作成時にオブジェクトを初期化します。 クラスと同じ名前を持ち、構文的にはメソッドに似ています。 ただし、コンストラクターには明示的な戻り値の型はありません。

通常、コンストラクターを使用して、クラスによって定義されたインスタンス変数に初期値を与えるか、完全な形式のオブジェクトを作成するために必要な他の起動手順を実行します。

Javaは、すべてのメンバー変数をゼロに初期化するデフォルトコンストラクターを自動的に提供するため、定義するかどうかにかかわらず、すべてのクラスにコンストラクターがあります。 ただし、独自のコンストラクタを定義すると、デフォルトのコンストラクタは使用されなくなります。

構文

以下は、コンストラクタの構文です-

class ClassName {
   ClassName() {
   }
}

Javaは、2つのタイプのコンストラクタを許可します-

  • 引数なしコンストラクタ
  • パラメータ化されたコンストラクタ

引数なしコンストラクタ

名前が引数を指定しないため、Javaのコンストラクターは代わりにパラメーターを受け入れません。これらのコンストラクターを使用すると、メソッドのインスタンス変数がすべてのオブジェクトの固定値で初期化されます。

Public class MyClass {
   Int num;
   MyClass() {
      num = 100;
   }
}

次のように、コンストラクターを呼び出してオブジェクトを初期化します。

public class ConsDemo {
   public static void main(String args[]) {
      MyClass t1 = new MyClass();
      MyClass t2 = new MyClass();
      System.out.println(t1.num + " " + t2.num);
   }
}

これにより、次の結果が生成されます

100 100

パラメータ化されたコンストラクタ

ほとんどの場合、1つ以上のパラメーターを受け入れるコンストラクターが必要になります。 パラメーターは、メソッドに追加するのと同じ方法でコンストラクターに追加されます。コンストラクターの名前の後の括弧内で宣言するだけです。

これは、コンストラクタを使用する簡単な例です-

//A simple constructor.
class MyClass {
   int x;

  //Following is the constructor
   MyClass(int i ) {
      x = i;
   }
}

あなたは次のようにオブジェクトを初期化するためにコンストラクタを呼び出します-

public class ConsDemo {
   public static void main(String args[]) {
      MyClass t1 = new MyClass( 10 );
      MyClass t2 = new MyClass( 20 );
      System.out.println(t1.x + " " + t2.x);
   }
}

これは、次の結果を生成します-

10 20