ビデオ: 第2回2016年度プログラム言語(Java)第3章 条件分岐と繰り返し 2024
JavaのA コンストラクタ は、オブジェクトが作成されます。コンストラクタとメソッドの主な違いは次のとおりです。
-
コンストラクタには戻り値の型がありません。
-
コンストラクタの名前は、クラスの名前と同じでなければなりません。
-
メソッドとは異なり、コンストラクタはクラスのメンバーとはみなされません。
<! - 1 - > -
コンストラクタは、オブジェクトの新しいインスタンスが作成されると自動的に呼び出されます。
public ClassName(parameter-list)[throws exception …] {statements …}
publicキーワードは、他のクラスがコンストラクタにアクセスできることを示します。 ClassNameは、コンストラクタを含むクラスの名前と同じである必要があります。メソッドのコード化と同じ方法で、パラメーター・リストをコーディングします。
コンストラクタを使用すると、オブジェクトを作成するときにクラスフィールドの初期値を指定できます。 firstNameとlastNameという名前のフィールドを持つActorという名前のクラスがあるとします。 Actorクラスのコンストラクタを作成することができます:
<! - 1 - >
publicアクター(String first、String last){firstName = first; lastName = last;}次に、このコンストラクタを呼び出すことによってActorクラスのインスタンスを作成します。
<! - 3 - >
俳優a =新しい俳優( "アーノルド"、 "シュワルツェネッガー");Arnold Schwarzeneggerの新しいActorオブジェクトが作成されます。メソッドと同様に、コンストラクタをオーバーロードすることもできます。つまり、各コンストラクタに固有のシグネチャがある場合は、クラスに複数のコンストラクタを指定できます。 Actorクラスの別のコンストラクタがあります:
public Actor(String first、String last、boolean good){firstName = first; lastName = last; goodActor = good;}
このコンストラクタでは、アクタの名前の他に情報を持つActorオブジェクトを作成できます。Actor a =新しいActor( "Arnold"、 "Schwarzenegger"、false);
クラスにコンストラクタを指定しない場合、Javaはパラメータを持たず、フィールドを初期化しない
デフォルトコンストラクタ
を自動的に作成します。パラメータを渡さずにnewキーワードを指定すると、このデフォルトのコンストラクタが呼び出されます。例: <! - 3 - > ボールb =新しいボール();
ここで、Ballクラスの変数は、Ballクラスのデフォルトのコンストラクタを使用して作成されます。クラスのコンストラクタを明示的に宣言すると、Javaはそのクラスのデフォルトのコンストラクタを作成しません
。その結果、パラメータを受け取り、空のコンストラクタ(パラメータとボディを持たない)を必要とするコンストラクタを宣言した場合、そのクラスの空のコンストラクタを明示的に宣言する必要があります。