お久しぶりです。
引越しをして、家具を揃えたりして、忙しかったです。
GWには全く勉強できませんでした。
6月中の合格を目指して、勉強再開しますか!
OCJ-Pでは、オーバーライド関連は嫌と言うほど出題されます。
基本的なことを確実に押さえておくことが大事ですね。
一番簡単なオーバーライドは次のソースです。
//START
public class A {
protected void test(){
System.out.println("A");
}
}
public class B extends A{
public static void main(String[] args){
A a = new B();
a.test();
}
void test(){
System.out.println("B");
}
}
//END
実行したときの結果は、AかBのどちらが出力されますか?
・
・
・
もちろん、Bですね。
ポイントは↓↓
A a = new B();
このところですね。
変数 a は、型はAですが、Bとしての振る舞いをします。
言い換えれば、箱はAですが、中身はBなんです。
だから、Bのtest()が呼ばれます。
よって、Bが出力されるんですね。