比方說,我有一個抽象類,延伸類和接口是這樣的:如何引用既擴展又實現的實例?
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