【发布时间】:2014-07-08 04:43:09
【问题描述】:
在一个项目中,我试图让两个或多个代理相互通信以收集环境中的东西。为此,我正在使用一个邮箱,其中包含他们将根据彼此之间发送的消息进行响应的消息。下面是我创建链接列表的地方
mailbox = new LinkedList[numberOfAgents()];
for ( int i=0; i< numberOfAgents(); i++ ){
mailbox[i] = new LinkedList<Message>();
mailbox[i].add(new Message(i, knownBloodBanks, knownDonors));
}
然后是私信和意图类
private class Message
{
// instance variables
private int senderId;
private BoardComponentList donors;
private BoardComponentList bloodBanks;
private BoardComponent requestAssistanceAt;
private Intention iIntendToAssistAt;
public Message( int senderId, BoardComponentList d, BoardComponentList b )
{
this.senderId = senderId;
donors = d;
bloodBanks = b;
} // end constructor
public void setIntentions( Intention intention )
{
iIntendToAssistAt = intention;
}
public void setRequest( BoardComponent bC )
{
requestAssistanceAt = bC;
}
public BoardComponentList getDonors()
{
return donors;
}
public BoardComponentList getBloodBanks()
{
return bloodBanks;
}
public Intention getIntentions()
{
return iIntendToAssistAt;
}
public BoardComponent getRequest()
{
return requestAssistanceAt;
}
public int getSenderId()
{
return senderId;
}
} // end Message class
private class Intention
{
// instance variables
private BoardComponent target;
private double distanceTo;
public Intention( BoardComponent bC, double distance )
{
target = bC;
distanceTo = distance;
} // end constructor
public BoardComponent getTarget()
{
return target;
}
public double getDistancetoTarget()
{
return distanceTo;
}
}
我一辈子都想不出如何访问私有类中的方法,以便我可以设定目标并查看代理之间的消息。任何正确方向的帮助或指示将不胜感激,我希望我已经包含了足够的信息,如果没有,请告诉我其他需要的信息
我没有清楚地解释自己,因为我经常发现问题,但是是的,私有类和第一个代码 sn-p 都在公共类中找到
【问题讨论】:
-
您不能将课程设为私有。所以我认为你的代码给出了运行时错误。
标签: java methods linked-list private-class