0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Javaを基本からまとめてみた【コンストラクタ・デフォルトコンストラクタ】

Last updated at Posted at 2023-03-09

コンストラクタとは?

  • インスタンス化されると同時に自動で動き出す特殊なメソッド。フィールドに実態を定義する上で、必要な初期値を代入する役割を担う。

  • インスタンス化が起こった際に自動でフィールドを初期化する特殊なメソッドを定義することが可能であり、これをコンストラクタという。

  • コンストラクタは以下のルールと特徴がある。
    ○ コンストラクタの定義において戻り値の情報は何も記述しない ※void不要
    ○ コンストラクタ名はクラス名と同じ ※メソッドのルールを外れ、大文字の命名となる
    ○ インスタンス生成時、必ず最初に呼び出される

  • 実はインスタンス化の右辺はコンストラクタを表しており、右辺の()内にフィールドの初期値として設定したい値を入れておくと、コンストラクタに値渡しされてフィールドの初期化が行われる。

クラス名 インスタンス名 = new  クラス名(引数);
                       ※コンストラクタを表しています

  • コンストラクタはメソッドの一種なので、様々な引数パターンに応じてオーバーロードして定義することは可能です。
Sample2.java
class Sample2_drive {
 public static void main(String[] args)

 System.out.println("車を場に搭乗させる")
 car chocoCar = new Sample2_car();
 car mocoCar = new Sample2_car("クーペ","red",80);

//コンストラクタ①(引数無し)

Sample2_car(){
 System.out.println("コンストラクタ① (引数無)");
 carModel = "未登録"; //車種
 color = "未登録"; //色
 speed = 0; //現在の速度
 System.out.println("○ ○");
}

//コンストラクタ②(引数有り)

Sample2_car(String cm, String cl, int sp){
 System.out.println("コンストラクタ② (引数有)");
 carModel = cm; //車種
 color = cl; //色
 speed = 0; //現在の速度
 System.out.println("○ ○");
}

デフォルトコンストラクタ

  • コンストラクタは、インスタンス化の際は必ず実行される。もしもコンストラクタがソースコード内で実行されていない場合、裏で引数無し/処理無しのコンストラクタが補われて実行され、これを『デフォルトコンストラクタ』と言う。
  • デフォルトコンストラクタじゃソースコード内に1つでもコンストラクタが定義されていた場合、補われない。

参考サイト

【Java-オブジェクト指向】Javaプログラミングの「オブジェクト指向」が絶対理解できる講座【プロ講師が丁寧解説】

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?