相关疑难解决方法(0)

为什么枚举实现不能访问枚举类中的私有字段

我刚刚回答了这个问题,说如何解决编译问题:

如何通过重写方法在java枚举中使用字段?

但我不明白为什么错误发生在一开始.

以下是以枚举形式编写的示例:

public enum MyEnum {


    FIRST {
        @Override
        public String doIt() {
            return "1: " + someField; //error
        }
    },
    SECOND {
        @Override
        public String doIt() {
            return "2: " + super.someField; //no error
        }
    };

    private String someField;


    public abstract String doIt();

} 
Run Code Online (Sandbox Code Playgroud)

这与抽象类完全相同

abstract class MyClass {
    class FIRST extends MyClass {
        @Override
        public String doIt() {
            return "1: " + someField; //no error
        }
    };
    class SECOND extends MyClass {
        @Override
        public String doIt() …
Run Code Online (Sandbox Code Playgroud)

java enums

27
推荐指数
1
解决办法
2477
查看次数

标签 统计

enums ×1

java ×1