継承 【Javaのサンプルコード】
ここでは、当社の新人研修受講者に向けて、Javaのサンプルコードを紹介しています。
継承とコンストラクタ
以下のプログラムの結果をみてなぜ、そうなるのか説明してください。
class Car { public String type = "M "; public Car() { System.out.print("Ordinary Car "); } } public class LuxuryCar extends Car { public LuxuryCar() { System.out.print("Luxury Car "); } void go() { type = "L "; System.out.print(super.type); } public static void main(String[] args) { new LuxuryCar(); } }
ヒント:子コンストラクタで親コンストラクタが呼ばれていない場合は、引数なしの親コンストラクタが自動で呼び出されます。
継承とメソッド
次のプログラムはコンパイルできるか? できないとすればなぜか?
class Sample { public static void main(String[] args) { SubClass obj = new SubClass(); obj.method(); } } class SuperClass{ public void method(){ System.out.println("this is a super class"); } } class SubClass extends SuperClass{ void method(){ System.out.println("this is a sub class"); } }