我有一个名为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多数民众赞成在另一个问题:) –