是否可以从嵌套枚举中获取封闭实例?
Is it possible to get enclosing instance from nested enum?
我有以下 class 以及一个嵌套枚举:
public class MyClass {
private Integer field;
private enum SelectedValue{
ALL {
@Override
public Integer getAmount() {
return field; //Error: field cannot be resolved to a variable
}
};
public abstract Integer getAmount();
}
}
是否可以在枚举主体中获取封闭实例?
如果它是静态的,您只能访问 field
。
嵌套枚举类型是隐式静态的,请参阅 JLS 8.9。您不能访问包含 class
的非静态字段
我有以下 class 以及一个嵌套枚举:
public class MyClass {
private Integer field;
private enum SelectedValue{
ALL {
@Override
public Integer getAmount() {
return field; //Error: field cannot be resolved to a variable
}
};
public abstract Integer getAmount();
}
}
是否可以在枚举主体中获取封闭实例?
如果它是静态的,您只能访问 field
。
嵌套枚举类型是隐式静态的,请参阅 JLS 8.9。您不能访问包含 class
的非静态字段