我有一個實現兩個接口的抽象類。我是否正確思考因爲我使用兩個接口,我不能使用任一接口來實現動態綁定?原因是如果我使用其中一個接口,我顯然無法從其他接口調用方法,因爲類型系統只允許子類型調用由我用來聲明多態變量的接口定義的方法。有效的Java項目19-僅使用接口來定義類型
因此,我的實際問題是,OK,我才真正使用的接口,以確保我的抽象類(或子類)絕對提供了方法的實現?這似乎與第19條所述的內容相矛盾 - 你應該只使用接口類型(我把它看成是多態)。
實施例:
public interface A{
public void meth1();
}
public interface B{
public void meth2();
}
public abstract class C implements A,B{
}
public void DynamicBinding(A aobject){
//Can only call aobject.meth1();
}
我不明白你的問題。動態綁定與多態性密切相關。事實上,我認爲他們是幾乎相同的兩個術語。 – 2012-07-28 22:28:18
我在說的是,我無法使用接口進行子類型化,因爲我需要使用多態變量中的兩個接口中的方法。因此,可以使用抽象類來進行子類型劃分,然後只使用接口來確保方法的實現。這似乎與第19項相矛盾 – user997112 2012-07-28 22:35:46