假设我有一个包含Java中枚举的类。是否可以从包含枚举的类中访问方法?举个例子:
public class Foo {
private string getClassVal() { return "42"; }
public string getOtherClassVal() { return "TheAnswer"; }
public enum Things {
ONE("One"),
TWO("Two"),
THREE("Three");
private String _val;
private Things(String val) { _val = val; }
// This method is the problem
public String getSomeVal() {
return _val + this.getClassVal();
}
// And this one doesn't work either
public String getSomeOtherVal() {
return _val + this.getOtherClassVal();
}
}
我知道上面带注释的枚举方法不起作用并导致错误,因为this
所处的上下文。我正在寻找的是我可以访问“外部”类方法的东西从枚举中。或者这是正确的方法吗?
这样的事情可能吗?或者枚举是否锁定在外部方法中,即使是在类中?
答案 0 :(得分:5)
没有
因为enum
始终为static
,因此没有封闭的实例。
显然,他们可以访问封闭类的public static
方法。