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 5 years have passed since last update.

2016年IT勉強総復習 ごった煮Advent Calendar 2016

Day 5

Java Silverつまりどころ(その3)

Posted at

つまりどころ〜

  
こんにちは。

Java Silver来年ほんきだす。

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

インスタンスが生成される際に自動的に呼び出されるメソッドのこと。

コンストラクタを1つも定義しない場合、自動的にデフォルトコンストラクタと呼ばれるコンストラクタが作成される。

下記のようなクラスを作った場合、Hoge() {}というデフォルトコンストラクタが作成される。

class Hoge {

}

こんな感じで。

class Hoge {
    Hoge() {

    }
}

引数なしコンストラクタの意味・・!
コンストラクタは実行される前に必ず親クラスのコンストラクタを呼び出すから。
実際には下記のようなコードが生成される。

class Hoge {
    Hoge() {
        super(); // 親クラスのコンストラクタを呼び出す
    }
}

注意点

継承しているクラス(Hoge)、継承されている親クラスがある(Parent)場合、
親クラスにデフォルトコンストラクタつくる必要がある。

 class Hoge extends Parent {
       Hoge() {  //Hogeのコンストラクタ実行時にsuper()が実行される。
       }         //Parentにデフォルトコンストラクタが作成されてない場合、コンパイルエラー
        
   }

super();は、最初によばないとだめだぞ〜。

class Hoge {
    Hoge() {
        System.out.println("だめだめー");
        super(); // 親クラスのコンストラクタを呼び出す
    }
}

  
アウトプットして、ちしき固めていくぞ〜。
  
  

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?