Java 跳过继承层次结构的方法和超类的调用方法

Java 跳过继承层次结构的方法和超类的调用方法,java,oop,inheritance,Java,Oop,Inheritance,有没有办法跳过java继承层次结构并调用超类的方法 我有3个java类 X Y extends X Z extends Y. 现在有没有办法访问X直接跳过Y的任何方法 他们声称你做不到,对此进行了很好的讨论 编辑 我假设有一种情况,比如foo()是在X和Y中定义的,并且您希望从Z中的X调用它是的,您可以访问X的所有方法,但私有方法除外 现在有没有办法直接跳过Y访问X的任何方法 实际上不,理论上是的。以你为例: X Y extends X Z extends Y. 当您调用Z的方法时,它将调用

有没有办法跳过java继承层次结构并调用超类的方法

我有3个java类

X
Y extends X
Z extends Y.
现在有没有办法访问X直接跳过Y的任何方法 他们声称你做不到,对此进行了很好的讨论

编辑
我假设有一种情况,比如foo()是在X和Y中定义的,并且您希望从Z中的X调用它

是的,您可以访问X的所有方法,但私有方法除外

现在有没有办法直接跳过Y访问X的任何方法

实际上不,理论上是的。以你为例:

X
Y extends X
Z extends Y.

当您调用Z的方法时,它将调用
super()
,如果有,它将调用Y的方法,并且它也将调用
super()
,最后它将调用X的方法。我说是的,当Y的方法和X的方法没有什么不同时,就好像它没有效果一样。但是在实践中,JVM遵循继承层次结构来完成调用,请记住,

< P>我想您可以使用,但是有点丑陋的IMO.

是在C++中使用的方法,可以使用范围解析;在Java中,您不能执行类似于
z.X.method()
的操作,其中z是类型为z的对象,method()是函数吗?是的。。它在Y中被覆盖