我在枚举常量 block 内创建了一个局部变量,例如:
enum NUMBER {
ONE() {
int one = 1;
},
TWO() {
int two = ONE.one + 1; //!ERROR: one can't be resolved.
}
}
我的问题是为什么我不能引用其他常量的类字段变量?
它是一个类字段吗?
我知道的是,一和二是数字的字段,所以一可以看到二并访问二的字段,不是吗?
最佳答案
这不起作用,因为当您将其声明为
ONE () {
}
您正在声明一个新的匿名内部类。
但是,您可以在 NUMBER
枚举中声明一个字段,将其添加到 NUMBER
构造函数中,然后在常量中声明它,如下所示:
ONE(1), TWO(2)
因为枚举就像常规类一样并且允许这样的声明。
关于java - 枚举常量中局部变量的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22407539/