То, что вы написали правильно, при условии, что класс Alien
имеет конструктор с подписью:
public Alien(XYCoordination, int)
В частности,
super(currentLocation, energyCanister);
означает, что перед запуском этогоКонструктор запускает конструктор для непосредственного суперкласса, передавая ему значения currentLocation
и energyCanister
.Обратите внимание, что каждый конструктор (за исключением конструктора Object
) связывается с конструктором суперкласса, явно или неявно.
Однако, вероятно, следующее неверно:
AggresiveAlien.currentLocation()
Это требует, чтобы currentLocation()
был статическим методом, и это означало бы, что все экземпляры AggresiveAlien
имеют одинаковое местоположение ... что не имеет большого смысла.На самом деле, я думаю, что метод должен быть методом экземпляра, и поэтому вызов должен быть:
this.currentLocation()
или просто
currentLocation()
Вы сделали эту ошибку вколичество мест.