看看下面的代码示例:
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()
方法在匿名内部类中被覆盖,这是一个完全不同的类。
但是覆盖代码仍然驻留在同一个类中。那么,是否有理由得出结论,在某些情况下 [如上所述],可以覆盖同一类中的方法?