我正在嘗試用Eclipse創建一個Java程序,它大致模擬了一個有幾個人或角色及其相互作用的小鎮。爲什麼項目的一個類中的方法不能識別另一個類的方法?
我添加了一個類 - 字符 - 有一個方法 - 符合(字符)。但是,當我嘗試呼叫遇到(字符)與另一個類中的字符對象時 - 位置 - 在Eclipse中的相同包和項目中會導致錯誤:方法meet(字符)未定義爲類型字符。
我包括的第一部分代碼是我的位置類。它只包含加的方法。
代碼的第二組塊是我的字符類,僅包括滿足(字符)和的getID()方法
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
public class location<character> implements List<character> {
private String name;
private ArrayList<character> occupants;
private boolean professional;
private int cost;
private character owner;
private int hours;
public location(character o, boolean prof, String n, int c, int h)
{
name = n;
professional = prof;
cost = c;
owner = o;
hours = h;
}
//Methods other than add(character c) have been excluded
public boolean add(character c)
{
for(character a:occupants)
{
//This if statement is the part with errors.
//Error message: The method meet(character) is undefined for the type character
if(c.meet(a))
{
a.meet(c);
}
}
return occupants.add(c);
}
}
的代碼第二塊,所述字符類符合(字符)方法
import java.util.ArrayList;
public class character
{
private String firstname;
private String lastname;
private job j;
private static int count;
private int id;
private String gender;
private ArrayList<Integer> relations = new ArrayList<Integer>();
public character(String n, String l, String g)
{
firstname = n;
lastname = l;
gender = g;
id = count;
count = count + 1;
}
//Method meet, not being recognized by class location.
//Both files are in the same package in an Eclipse project.
public boolean meet(character person)
{
relations.ensureCapacity(person.getID());
if(!(relations.get(person.getID()) > 0 && relations.get(person.getID()) <= 100))
{
relations.add(person.getID(), new Integer(50));
if(relations.get(person.getID()).intValue() == 50)
{
return true;
}
}
return false;
}
public int getID()
{
return id;
}
}
任何幫助將不勝感激,如果你需要我提供更多的我的代碼只是問。我尋找過像我這樣的問題,但是我還沒有找到一種方法將它返回相關結果。
謝謝你,修好了! – Ryan
不客氣。 –