重載的方法更具體的數據類型我有一些數組列表具有相同接口的類型的不同對象,例如:使用在Java中
Interface interface {}
class A implements interface {}
class B implements interface {}
我也有一個重載的方法實現該接口的所有那些繼承的對象:
public void doSomething(A obj) {}
public void doSomething(B obj) {}
編譯器還強迫我寫一個重載的方法與接口:
public void doSomething(interface obj) {}
然後我去通過列表的值並調用方法:
for (interface obj: myList) {
doSomething(obj);
}
現在,因爲obj的類型是「接口」,在DoSomething的(接口OBJ)是調用,而不是說DoSomething的(B OBJ)如果OBJ實際上類型B.
我可以用java做,否則的,所以它調用DoSomething的(A OBJ)當obj是A型和DoSomething的(B OBJ)當obj是B型的?
在什麼類的doSomething()方法實現?他們是A,B還是其他一類的成員。 – 2009-12-02 19:48:59
它們是在爲A和B創建適配器/包裝器對象的工廠類中實現的。 – arsenbonbon 2009-12-02 22:16:39