黑马程序员技术交流社区
标题:
关于super的疑惑
[打印本页]
作者:
Walking Walking
时间:
2013-3-17 20:35
标题:
关于super的疑惑
本帖最后由 徐盼盼 于 2013-3-18 12:44 编辑
super表示的是父类的的应用,可是今天做练习的时候遇到一个问题如下
class Parent {
}
class CT extends Parent{
public void printName(){
System.out.println(super.getClass().getName());//输出结果为CT
}
public static void main(String[] args) {
new CT().printName();
}
}
调用super.getClass().getName()输出的结果是CT不是 Parent 这是为什么?不是应该是父类的类名吗?
作者:
沈子豪
时间:
2013-3-17 20:40
在printName方法中,直接调用getClass().getName()方法,返回的是CT类名
由于getClass()在Object类中定义成了final,子类不能覆盖该方法,所以,在
printName方法中调用getClass().getName()方法,其实就是在调用从父类继承的getClass()方法,等效于调用super.getClass().getName()方法,所以,super.getClass().getName()方法返回的也应该是CT。
作者:
我自信我很牛
时间:
2013-3-17 22:14
简答很给力,这个不错。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2