首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

小疑点,帮忙看看,多谢

2013-09-05 
小问题,帮忙看看,谢谢!请看下面的java代码:public class Father {}public class Son extends Father {publ

小问题,帮忙看看,谢谢!
请看下面的java代码:


public class Father {}
public class Son extends Father {
public void m() {
System.out.println(super.getClass());
}

public static void main(String[] args) {
Son s = new Son();
s.m();
}
}

请问为什么打印结果是class Son?
应该是class Father才对,为什么,谢谢!
[解决办法]
由于getClass()在Object类中定义成了final,子类不能覆盖该方法,所以,在

m方法中调用getClass方法,其实就是在调用从父类继承的getClass()方法,等效于调用super.getClass()方法,所以,super.getClass方法返回的也应该是Son。

热点排行