2013-06-27 46 views
2

有什么办法可以跳过java继承层次结构和超级超类调用方法吗?跳过继承层次结构和超级超类的调用方法

我在java中3班

X 
Y extends X 
Z extends Y. 

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

+0

这种方法在Y中被覆盖了吗? –

+0

在C++中,您可以使用范围解析;在Java中,你能不能做类似于'z.X.method()'的东西,其中z是类型Z的对象,method()是函数吗? – Bathsheba

+0

是的..它在Y中被覆盖 –

回答

0

是的,你可以得到的所有方法访问X除了私有方法

2

现在有什么办法可以直接跳过Y的任何方法来访问X?

实际上不,理论上是的。下面您的示例:

X 
Y extends X 
Z extends Y. 

当你调用Z的方法,它会调用super()它将调用如有的Y方法,它会调用super()过,这将调用X的方法到底。我说是的,当Y的方法和X没什么不同时,那么它就好像没有效果。但实际上,JVM遵循继承层次来完成调用,请牢记这一点。