当前位置: 代码迷 >> Java Web开发 >> 小疑点,帮忙看看,多谢
  详细解决方案

小疑点,帮忙看看,多谢

热度:174   发布时间:2016-04-12 22:10:30.0
小问题,帮忙看看,谢谢!
请看下面的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。

  相关解决方案