【问题标题】:Is it possible to get enclosing instance from nested enum?是否可以从嵌套枚举中获取封闭实例?
【发布时间】:2015-05-05 11:33:21
【问题描述】:

我有以下类和一个嵌套枚举:

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();
    }
}

是否可以在枚举主体中获取封闭实例?

【问题讨论】:

标签: java enums


【解决方案1】:

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

【讨论】:

  • 也许您可以提供一些规范的参考?我的意思是 JLS 或类似的东西......
  • 它是 JLS 8.9 枚举类型
【解决方案2】:

你只能访问静态的field

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-01
    • 2018-05-26
    • 2016-08-12
    • 2018-06-24
    • 1970-01-01
    相关资源
    最近更新 更多