我對Java相當新,並沒有使用接口,這是我想象的是一個非常基本的問題。Java方法不適用於參數(接口)
我定義它實現了第二連接器的接口,其延伸它的第二接口,然後一類:
public interface I1 {
public void doStuff();
}
public interface I2 extends I1 {
public void doMoreStuff();
}
public class C2 implements I2 {
public void doStuff(){
// implements I1 as required
}
public void doMoreStuff(){
// implements I1 as required
}
}
我然後想要調用具有作爲參數的對象的集合的方法,其實現接口I1:
public class C3 {
public static void doI1Stuff(List<I1> implementorsOfI1){
// code here
}
}
,但我得到了上述錯誤,當我嘗試像
C2 aC2 = new C2();
List c2L = new List<I2>();
c2L.add(aC2);
C3.doI1Stuff(c2L);
我所做的事情對我而言似乎是合理的java新手。爲什麼它不起作用,更有經驗的程序員會做什麼?我希望我已經在某個地方犯了一個非常簡單的錯誤,這實際上是可能的...
(修改後的問題:如果我正在處理單個C2對象,但它與它們的集合無關...)
這應該很好。你得到的確切的編譯器錯誤是什麼?確保你沒有做一些奇怪的事情,比如導入一個具有相同名稱的不同類 - 這在試驗時經常是一個問題。 –
你的例子對我來說看起來很好。 –
適合我。 – ikdc