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

use*_*882 3 java enums

我有以下类和嵌套枚举:

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();
    }
}
Run Code Online (Sandbox Code Playgroud)

是否有可能在枚举体中包含实例?

Evg*_*eev 7

嵌套枚举类型是隐式静态的,请参阅JLS 8.9.您无法访问封闭类的非静态字段

  • 这是JLS 8.9枚举类型 (2认同)