////////////////////////////////////////////////////////////////////////////////
//  << j242.java >>
//
//  クラス(4):継承(コンストラクタ、概説)
//
//  親クラスのコンストラクタは子クラスに継承されない。そのかわり、親クラスの
//  引数なしコンストラクタが自動的に呼び出されるようになっており、親クラスから
//  継承したメンバの初期化が行われる。
//
//  子クラスから親クラスのコンストラクタの呼び出しが行われる場合を示す。
//
// ●場合1:子クラスのコンストラクタに明示的に親クラスのコンストラクタの
//      呼び出しが書かれている場合。
//  
//      子クラスのコンストラクタの先頭に「super(引数リスト);」と書く。
//    この結果、親クラスのコンストラクタで、引数リストが一致するものが
//    呼び出される。

//    class 子クラス名 extends 親クラス名 {
//          ・・・
//     子クラス名(引数) {
//             super(引数リスト);
//       ・・・
//     }
//        }
//
// ●場合2:子クラスのコンストラクタに明示的に親クラスのコンストラクタの
//      呼び出しが書かれていない場合。
//
//    親クラスの引数なしコンストラクタ呼び出し(super())が
//      自動的に先頭に挿入される。
//
//    class 子クラス名 extends 親クラス名 {
//          ・・・
//     子クラス名(引数) {
//             super(); <-- 挿入部分。
//       ・・・
//     }
//        }
//
//    この結果、親クラスの引数のないコンストラクタが呼び出される。
//        親クラスに引数のないコンストラクタが書かれていない場合、エラーになる。
//
// ●場合3:子クラスにコンストラクタが宣言されていない場合。
//  
//    引数のないコンストラクタが生成され、そのなかにsuper();が挿入される。
//    すなわち、「子クラス名() { super(); }」を自動的に挿入する。
//
//     class 子クラス名 extends 親クラス {
//          ・・・
//       子クラス名() { super(); } <-- 挿入部分。
//          ・・・
//        }
//
//    この結果、親クラスの引数のないコンストラクタが呼び出される。
//        親クラスに引数のないコンストラクタが書かれていない場合、エラーになる。
//
///////////////////////////////////////////////////////////////////////////////