我有一個名爲Occupant
和extended Occupant classes
爲不同乘員類型如動物,食品,工具,寶類。訪問擴展分類方法
所有居住者都被放置在GridSquares
,一個廣場最多可容納3名乘客。
乘員類有一個方法到坐上GridSqure所有乘員的位置時給出。 該方法將返回一個乘員陣列與擴展乘員類(E.G:動物,工具和食物)。
Occupant[] allOccupants = newGridSquare.getOccupants();
for (Occupant oneOccupant : allOccupants)
{
if(oneOccupant.getStringRepresentation() == "A")
{
player.reduceStamina(oneOccupant.getDanger());
}
}
編譯器不能在動物類訪問getDanger
方法,只是因爲我已經賦予它作爲乘員。
我該如何訪問擴展Occupant類中的getDanger方法Animal?
相關:[如何比較Java中的字符串?](http://stackoverflow.com/questions/513832/how -do-i-compare-strings-in-java) –
你的問題不清楚;你是說只有'動物'有一個'getDanger'方法,而'Occupant'不?請張貼課程代碼。 – chrylis
@SotiriosDelimanolis多數民衆贊成在另一個問題:) –