是否可以从嵌套枚举中获取封闭实例?

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

的非静态字段