次のコード サンプルを見てください。
public class Test{
public static void main(String[] args){
System.out.println(new Test());
System.out.println(new Test(){
public String toString(){
return "manual override";
}
});
System.out.println(new Test(){
public String gm(){
return "manual gm";
}
}.gm());
} //end of main method
public String gm(){
return "gm";
}
}
toString()
まったく異なるクラスである匿名の内部クラスでメソッドがオーバーライドされているという議論があるかもしれません。
ただし、オーバーライド コードは同じクラスに存在します。では、[上記のように] 状況によっては、同じクラスのメソッドのオーバーライドが可能であると結論付けることは正当化されますか?