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的:未解决的问题编译: 不能使静态参考从类型门户网站如何在实例类中的实例上调用方法?
以上的非静态方法运输(Agent)是它给我的错误。我有一个类型为Portal的成员变量的公共类Space和一个getPortal()getter。它看起来像:
public class Space {
private String _name;
private String _description;
private Portal _portal;
public Portal getPortal(){
return _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()方法来工作,空间和门户类功能齐全。我不知道如何在代理类中的代理实例上调用该方法。
我不明白你的标题。您正在从实例类“Agent”中调用实例方法transport。只需创建一个'Portal'的实例,然后调用'portalInstance.transport(this);'? – 2014-09-26 18:53:31
首先学习'static&this keyword'! – 2014-09-26 18:54:04