2013-01-22 57 views
0
private HashMap<String, SuperClass> mapOfRoles = new HashMap(); 
public void X() 
    { 
     mapOfRoles.put(String, SubClassA); 
     mapOfRoles.put(String, SubClassB); 
    } 

錯誤:(字符串,狼)發現放沒有合適的方法 playerRolesMap.put(listOfPlayers.get(0),新沃爾夫(listOfPlayers.get(0))); 方法HashMap.put(字符串,角色)是不適用 (實際參數狼無法轉換到通過方法調用轉換角色)HashMap中與子類

哪裏狼是角色的一個子類

我想寫一個程序,我需要訪問寫入子類的方法,但由於子類不能被轉換回超類,所以編譯器會說:實際參數子類A不能通過方法調用轉換轉換爲超類)

目前我看不到另一種方式來實現我的代碼,以便能夠動態檢索obj學分。大多數情況下,將要爲子類調用的方法都包含在超類中,但是每個子類都有一些只與它相關的方法。

有沒有可以糾正的設計缺陷。

+1

*「該子類不能被轉換回超類」*?也許你可以展示一個你想要做什麼的實際完整例子? – NPE

+0

實際參數子類無法通過方法調用轉換轉換爲超類 - 由於只存在於子類中的不同方法和變量 – user1742032

+0

向我們顯示您的代碼以及完整且準確的錯誤消息。 –

回答

0

我不知道這是否是您正在尋找的答案,但您可以創建一個通用接口,並將其用作參考!我相信這就是所謂的多態!