面试题:为什么java不允许 super.super.xxx 这样的语句?
------解决方案--------------------
super是调用父类的东西,一般super只能在方法内实现,方法外好像不能用。
------解决方案--------------------
super.super ???
似乎没必要吧,派生类不就已经包含了基类中的所以属性和方法了吗?所以一个super就可以调用到它之上所有级的父类的方法了
------解决方案--------------------
super.super.xxx是不是就相当于多继承了java不允许啊?
------解决方案--------------------
一个super可以调用它所有extends的父类的一些方法和一些变量,没有必要用super.super了。
------解决方案--------------------
你可以按照下面方式理解:
super是当前类的私有成员,代表着父类,
super.super的意思是要访问父类中的私有成员,这个是不可能访问得到的吧~
------解决方案--------------------
五楼正确
------解决方案--------------------
------解决方案--------------------
来学习的~~~
------解决方案--------------------
学习了
------解决方案--------------------
学到东西了人~~~~~~
------解决方案--------------------
如果你需要调用super.super.xxx那就说明你设计的有问题,根本就应该继承super上面的类
------解决方案--------------------
------解决方案--------------------
学到东西并留言。。。
------解决方案--------------------
理解为super包括所有的父类,自然包括了直接父类的父类,所有就没有super.super.×××之说了。
------解决方案--------------------
学习
------解决方案--------------------
like 14#
因为有这么一说 immediate superclass
super的确可以理解为所有超类的一个集合抽象 虽然super.x表示的是直接父类成员调用
毕竟要调用某层祖先类 有更直接的方式
- Java code
((ancestorType)this).x
------解决方案--------------------
个人认为那是重复了
脱了裤子放屁 多此一举
------解决方案--------------------
不太清楚,是不是怕有二义性,比如多重继承时?
------解决方案--------------------
------解决方案--------------------
Object getSuper()
可以返回,super.getClass().newInstance();
不能返回,super
说明super很特殊,不能理解成私有成员
哪家公司出这种面试题哦!?
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
super.super.xxx当然上不可以的
更本就没这样说法
只有................
------解决方案--------------------
------解决方案--------------------