public class Agent {
private Space _location;
private String _name;
public void setLocation(Space space){
_location = space;
}
public void usePortal(){
if(_location.getPortal() != null){
Portal.transport(Agent.this);
}
}
}
java.lang.Error: Нерешенные проблемы компиляции: Невозможно сделать статическую ссылку на нестатической метод транспорта (Агент) от типа порталаКак я могу вызвать метод в экземпляре класса экземпляра?
выше ошибка это дает мне. У меня есть открытый класс Space с переменной-членом типа Portal и getPortal() getter. который выглядит следующим образом:
public class Space {
private String _name;
private String _description;
private Portal _portal;
public Portal getPortal(){
return _portal;
}
}
В моем общественном классе Portal, у меня есть метод транспортировки с параметром Агент:
public class Portal {
private String _name;
private String _direction;
private Space _destination;
public Space getDestination(){
return _destination;
}
public void transport(Agent str){
str.setLocation(getDestination());
}
}
Моя главная проблема, имеющий метод usePortal(), чтобы работать, пространство и Классы портала полностью функциональны. Я не знаю, как бы я назвал метод экземпляром агента в классе Агента.
Я не понимаю ваше название. Вы вызываете метод экземпляра 'transport' из класса экземпляра' Агент'. Просто создайте экземпляр «Portal», а затем вызовите 'portalInstance.transport (this);'? –
Изучите 'static & this keyword' first !! –