サブクラスのコンストラクタを呼出す
- Aの手
public class HandOfA {
public HandOfA () {
System.out.println("A「グー!!");
}
}
- Bの手
public class HandOfB extends HandOfA{
public HandOfB () {
System.out.print("B「パー!」");
}
}
- main
public class HandsTester {
public static void main(String[] args) {
System.out.println("ジャーンケーン・・・");
new HandOfB();
}
}
- 実行結果
ジャーンケーン・・・
A「グー!!
B「パー!」
おお。
- new HandOfB()を実行するとHandOfBコンストラクタがスタックの一番上のフレームに格納される。
- スタックからはポップされるから、HandOfAコンストラクタの方が先に実行される。
DAKARA!!
Aはこのままじゃ永遠にBに勝てない
※厳密にはHandOfAコンストラクタの上にObject()が置かれ、それが一番最初にポップされる。