Java How to call method of grand parents?
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Why is super.super.method(); not allowed in Java?
号
假设我有3个类:
如果
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | class A { public void myMethod() { // some stuff for A } } class B extends A { public void myMethod() { // some stuff for B //and than calling A stuff super.myMethod(); } } class C extends B { public void myMethod() { // some stuff for C // i don't need stuff from b, but i need call stuff from A // something like: super.super.myMethod(); ?? how to call A.myMethod(); ?? } } |
你不能。这是故意的。
类EDCOX1(0)提供一个接口(如概念,而不是Java关键字)到子类。它选择不直接访问
你不能,你也不应该。
这是设计不好的标志。要么重命名一个方法,要么在另一个方法或实用程序类中包含所需的公共功能。
我不确定你能不能。Java使所有方法在默认情况下都是虚拟的。这意味着最简单的解决方案将不起作用:声明一个
您可以尝试反射类型