小编sla*_*med的帖子

除非使用常量表达式初始化,否则不能在非静态内部类型中声明static

public class Test {

public enum Directions {
        NORTH, WEST, SOUTH, EAST
    }

    static final Directions D1 = Directions.NORTH;

    static class Inner {
        static final Directions D2 = Directions.NORTH;
    }

    class Inner2 {
        static final Directions D3 = Directions.NORTH;
    }

}
Run Code Online (Sandbox Code Playgroud)

我正在获取标题中的IDE-Error,指的是变量D3.有人可以向我解释一下吗?为什么我不能在非静态的内部类中声明静态变量,为什么枚举值不是常量?

java

6
推荐指数
1
解决办法
4509
查看次数

标签 统计

java ×1