search
LoginSignup
0
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

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

posted at

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

つまりどころ〜

  
こんにちは。

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(); // 親クラスのコンストラクタを呼び出す
    }
}

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

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
What you can do with signing up
0
Help us understand the problem. What are the problem?