class Father{
public int a=10;
public void test(){
System.out.println(this.a);
}
}
class Son extends Father{
public int a=20;
}
mian方法:
Son son=new Son();
son.test();
这里输出10。请问当实例化Son时,当调用父类test()方法时,test()方法内的this是指哪个对象,是Son对象,还是父类Father对象。
父类本身没有test方法呀,它是直接调用子类的吧。既然你都知道输出是10了,那当然是子对象的。除非你重载子类的test函数。
class Father怎么会没有test()方法呢?
@易之名:
不好意思,我搞错了。应该是:
son类本身没有test方法呀,它是直接调用father类的。既然你都知道输出是10了,那this当然是指father。除非在son类中你重载father类的test函数.