Как вызвать методы из суперкласса?

Предполагается, что этот баг сам по себе неустраним из сетки. Есть ли способ заставить ConnorBug выполнять removeSelfFromGrid() из исходного класса Bug и фактически избавляться от ошибки из сетки?

public class ConnorBug extends Bug
{
    public static int MyNewCounter = 0;
    public ConnorBug()
    {
        setColor(null);
    }
    public void removeSelfFromGrid()
    {
        Location loc = getLocation();
        Grid<Actor> gr = getGrid();
        Location next = loc.getAdjacentLocation(getDirection());
        if(gr.isValid(next))
        {

            this.move();
        }
        else{
            this.setDirection(getDirection()-180);
            this.move();
        }
        for(int c=0; c<8; c++)
        {

            Location thatLoc = getLocation();
            Location thatNext = thatLoc.getAdjacentLocation((0+(45*c)));
            if(gr.isValid(thatNext)&&!(gr.get(thatNext) instanceof ConnorRock)&&!(gr.get(thatNext) instanceof ConnorBug))
            {

                ConnorRock something = new ConnorRock();
                something.putSelfInGrid(gr,thatNext);
            }
        }
    }

}

1 ответ

Вам просто нужно использовать:

super.<method name>();

Либо, если функция статическая, вы можете просто Bug.<method name>();

Другие вопросы по тегам