内部クラスに関係する非常に具体的な問題があります。サンプルコードをいくつかお見せしましょう:
class Foo {
MYOPTIONS temp;
public static enum MYOPTIONS {
OPTION1, OPTION2, OPTION3;
}
}
したがって、この列挙は Foo クラス内にあります。ここでやりたいことは、一時変数を 3 つのオプションの 1 つとして設定することですが、これはクラス Foo の外で行います。たとえば、External というクラスからとします。残念ながらExternal.setTemp (MYOPTIONS.OPTION1)
、列挙型は外部クラスで表示されないため、有効ではないため、それを行うための set メソッドを使用できません。したがって、私が思いついた唯一のことは、クラス Foo に 3 つのメソッドがあることです。
public void setTempOption1 () {this.temp=MYOPTIONS.OPTION1;}
public void setTempOption2 () {this.temp=MYOPTIONS.OPTION2;}
public void setTempOption3 () {this.temp=MYOPTIONS.OPTION3;}
明らかに、他のオプションは、列挙を変更し、それを内部クラスとして持たないようにすることです。私が見逃している他のオプションはありますか?ありがとう