[英]accessing elements of a linked list that is made up of a private custom class
在一個項目中,我試圖讓兩個或多個代理相互之間進行通信以收集環境中的事物。 為此,我使用的是一個包含消息的郵箱,它們將根據彼此之間發送的消息進行響應。 下面是我創建鏈接列表的地方
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;
}
}
我無法終生了解如何訪問私有類中的方法,以便我可以設定目標並查看代理之間的消息。 任何幫助或朝着正確方向的指示將不勝感激,我希望我提供了足夠的信息,如果沒有,請告訴我其他需要的信息
我沒有清楚地解釋自己,因為我經常發現問題,但是是的,私有類和第一個代碼片段都在公共類中找到
下面的示例代碼(對類進行了一些修改,因為它們會導致編譯錯誤):
package com.pkg1;
import java.util.LinkedList;
public class Sample{
public Sample(){
LinkedList[] mailbox = new LinkedList[10];
for ( int i=0; i< 10; i++ ){
mailbox[i] = new LinkedList<Message>();
mailbox[i].add(new Message(i));
}
}
private class Message
{
// instance variables
private int senderId;
private Intention iIntendToAssistAt;
public Message( int senderId )
{
this.senderId = senderId;
} // end constructor
public void setIntentions( Intention intention )
{
iIntendToAssistAt = intention;
}
public Intention getIntentions()
{
return iIntendToAssistAt;
}
public int getSenderId()
{
return senderId;
}
} // end Message class
private class Intention
{
// instance variables
private double distanceTo;
public Intention( double distance )
{
distanceTo = distance;
} // end constructor
public double getDistancetoTarget()
{
return distanceTo;
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.