我有一个与内部类有关的非常具体的问题。让我向您展示一些示例代码:
class Foo {
MYOPTIONS temp;
public static enum MYOPTIONS {
OPTION1, OPTION2, OPTION3;
}
}
所以这个枚举在 Foo 类中。现在我想做的是将 temp 变量设置为三个选项之一,但是在 Foo 类之外执行此操作,比如说从一个名为 External 的类中。不幸的是,我不能有一个 set 方法来做到这一点,因为External.setTemp (MYOPTIONS.OPTION1)
它无效,因为枚举在外部类中不可见。所以我唯一能想到的就是在 Foo 类中有三个方法:
public void setTempOption1 () {this.temp=MYOPTIONS.OPTION1;}
public void setTempOption2 () {this.temp=MYOPTIONS.OPTION2;}
public void setTempOption3 () {this.temp=MYOPTIONS.OPTION3;}
显然,另一种选择是更改枚举而不将其作为内部类。我还有其他选择吗?谢谢