我有一堂课

public abstract class BoardLocation
{
   //...
}


还有一个

public abstract class Property extends BoardLocation
{
   public abstract int getRentAmt();
}


最后,另一个...

public class Lot extends Property
{
    @Override
    public int getRentAmt()
    {
        //...
    }
}


在我的Driver.java中,我正在做...

BoardLocation board[] = new BoardLocation[2];
board[0] = new Lot();
board[1] = new Lot();


但是当我打电话给...

board[0].getRentAmt();


我收到“找不到符号”的字样,它表示board [0]是BoardLocation。

有什么原因吗?或任何修复?

最佳答案

您需要将该方法.getRentAmt添加到BoardLocation。也许使其成为一个接口。
另一种选择是将板[0]投射到地块或财产,然后调用getRentAmt

07-24 19:49