私は、各自動車メーカーのインスタンスが1つだけ必要とされているので、私のクラスで列挙型?
public enum CarMaker{
Honda,
Toyota,
Sony,
...;
public CarMaker at(int index){ //a method to retrieve enum by index
CarMaker[] retval = this.values();
return retval[index];
}
public final SomeObj val; //a value associated with each enum
//.. more custom functions if needed
}
を宣言した大規模な列挙型を持っている私は、配列のような記憶装置(代わりにアクセスとしてこの列挙を使用したい場合、それは悪い習慣ですインデックスを使用して、各要素、私はより直感的な名前を使用することができます。また、私は、各要素のカスタム関数を持つことができます)
CarMaker A = CarMaker.Honda;
CarMaker B = CarMaker.at(1);
//Error above b/c 'at' is not a static member, can I make at a static member?
A.val = 5;
B.val = 6;
//Here I want A to be share data with B since both are "Honda"
//but it doesn't seem to do that yet
System.out.println(A)
System.out.println(B)
//Expected output:
//A: 6
//B: 6
は今AとBは「ホンダ」の独自のインスタンスを作成するように見えるが、私は彼らがしたいです共有する。出来ますか?
ソニーは車を作りますか? –
おっと...でも、あなたは私の考えを得ます。 :P – Bonk
列挙型に別々のインスタンスがないため、どのように問題が発生しているのか分かりません。 AとBは1つの同じオブジェクトでなければなりません。 –