【发布时间】:2013-07-25 21:15:29
【问题描述】:
我有一个扩展 SuperClass 并实现 IClass 的类(为简单起见称为 SubClass)。 我知道你可以使用 super.method() 调用 SuperClass 的方法,但是是否可以从 IClass 中实现的 SubClass 中调用方法?
例子:
public class SuperClass {
public void method(){
implementedMethod();
}
}
子类:
public class SubClass extends SuperClass implements IClass{
public void implementedMethod() {
System.out.println("Hello World");
}
}
IClass:
public interface IClass {
public void implementedMethod();
}
我想从 SuperClass 调用 SubClass'impliedMethod()(它从 IClass 获得)
我该怎么做呢?
【问题讨论】:
-
如果您需要从超类调用子类方法,您的 is-a 关系可能存在设计问题。
-
我不明白你的问题,你想达到什么目的?如果你有一些抽象的超类类型,你想选择哪个子类将执行?
-
用例是什么?为什么你会想要从超类调用子类的方法,而该方法不是抽象的,因此保证存在于子类中?
标签: java inheritance interface subclass superclass