一個類的實例,如果我有:傳遞其實現兩個接口爲兩個不同的亞型
public interface One{
public void method1();
}
public interface Two{
public void method2();
}
public class AClass implements One, Two{
}
public static void aDiffMethod1(One o){
o.method1();
}
public static void aDiffMethod2(Two t){
t.method2();
}
public static void main(String[] args){
AClass a = new AClass();
aDiffMethod1(a);
aDiffMethod2(b);
}
有時候在我的代碼使用實際上它是接口的一個亞型將通過ACLASS實例(換句話說,方法的參數類型將是One,我將傳遞類型AClass),並且在其他時間,我可以傳遞知道它的接口的子類型的AClass對象Two(方法im的參數類型傳遞給是兩個,所以我把AClass作爲Two的一個子類型)。
將AClass的實例作爲不同接口的子類型的幌子傳遞給不同的方法是可以的嗎?
這是什麼意思,通過編程的界面 - 所以它很好?
好問題... – 2012-08-05 13:58:12