オブジェクトの参照(その1) | Javaプログラミング初心者のためのページ

オブジェクトの参照(その1)

オブジェクトはスーパークラスの型でも代入可能です。クラス継承の最上位のクラスはjava.lang.Objectクラスなので、Object型の変数にはどのようなオブジェクトでも代入可能です。


=======クイズ
class A {}
class B extends A {}

のとき、以下のコードはどの様な結果になるか。
・ 実行時エラー
・ コンパイルエラー
・ 正常実行

A a1 = new A();
A a2 = new B();
B b1 = new A();
B b2 = new B();
Object o1 = new A();
Object o2 = new B();

------- 正解
A a1 = new A();    → 正常実行
A a2 = new B();    → 正常実行
B b1 = new A();    → コンパイルエラー
B b2 = new B();    → 正常実行
Object o1 = new A(); → 正常実行
Object o2 = new B(); → 正常実行