比方说,我有一个抽象类,延伸类和接口是这样的:如何引用既扩展又实现的实例?
public abstract class SuperClass {
...
public void foo() {...}
...
}
public class SubClass extends SuperClass implements MyInterface {...}
public interface MyInterface {
public void bar();
}
注意,我父类实现MyInterface的几个子类,但不是所有的人。 还让我们说,我有这样一个构造另一个类:
public class AnotherClass {
private SuperClass sc;
public AnotherClass(SuperClass superclass) {
sc = superclass;
}
...
}
我现在的问题是,我如何能够保证在构造函数中给定的目标也实现MyInterface的?我需要对象sc
才能运行两种方法foo()
和bar()
。我怎样才能做到这一点?
通过铸造它。 – SomeJavaGuy
使SuperClass实现你的接口 – ACV
定义它为'SubClass'没有意义,因为我需要实现'MyInterface'的所有子类来适应构造函数。我可以给一个尝试虽然... – StrikeAgainst