それを説明していない場合は、猫のIDに基づいて、非静的変数を返します猫のオブジェクト内の静的メソッドを追加することができ、私を許して、大規模なプロジェクトのすべての部分であります。 Catオブジェクトの中の静的マップにCatsのリストを保持する必要があります。
private static HashMap<String,Cat> cats = new HashMap<String,Cat>();
...
public static int getEnergy(String catId) {
Cat myCat = cats.get(catId);
return myCat.getEnergy();
}
public int getEnergy() {
return this.energy()
}
代わりに要求されたとして、あなたはX、Yで検索する場合:
private static ArrayList<Cat> cats = new ArrayList<Cat>();
private int energy = 100;
private int x = 0;
private int y = 0;
...
public static int getEnergy(int x, int y) {
//Energy of -1 being the error (not found) state.
int energy = -1;
for(Cat cat : cats) {
if(cat.getX() == x && cat.getY() == y) {
energy = cat.getEnergy();
}
}
return energy;
}
public int getEnergy() {
return this.energy()
}
public int getX() {
return this.x;
}
public int getY() {
return this.y;
}
あなたは 'Dog'は' Cat'を取得したいどうすればよいですか? – SLaks
メインクラスの別のオブジェクトの間でデータを渡すヘルパーを作成できます。そうすれば、 'dogA'に' catA'が何をしているのか、 'dogA'に' dogB'のことを伝えることができます。 2つのパラメータを持つメソッドが必要になります.1つはオブジェクトに通知するメソッド、もう1つはオブジェクトに最初に通知するメソッドです。この情報を受け取り、それに反応する 'Dog'クラスと' Cat'クラスにメソッドを追加することができます。 – jzworkman
解決策は、オブジェクト指向プログラミングまたはJavaの基礎を教えるすべての本にあります。 – Wolfgang