2015年3月4日水曜日

Javaの勉強 コンストラクタ

明示的にコンストラクタを書かなかった場合
コンストラクタを明示的に書かないと、裏で、引数なしのコンストラクタを作成し、
それが暗黙的に呼び出される。
さらに、親クラスがあれば、親クラスの引数なしコンストラクタを実行してくれる。

例として、以下のようなクラスを考えてみた。

人クラス

桃太郎クラス

■人クラス(Human.java)
public class Human {
 
 // コンストラクタ 
 public Human()
 {
  System.out.println("私は人として、生を受けました。");
 }
}
■桃太郎クラス(Momotaro.java)
public class MomoTaro extends Human  {

 public void GiveKibiDango()
 {
  System.out.println("きびだんご。どうぞ。");
 }
}
■メイン関数(Main.java)
public class Main{
  public static void main (String[] args) {
    
   MomoTaro mtaro = new MomoTaro();
   mtaro.GiveKibiDango();
  }
} 

■結果

たしかに、親クラスの引数なしコンストラクタが呼ばれた。
明示的にコンストラクタを書いた場合
書いたコンストラクタが呼ばれる。
親クラスのコンストラクタも勝手に呼ばれる。
0 件のコメント:
コメントを投稿