【发布时间】:2015-05-06 16:46:21
【问题描述】:
“OCP Java SE 6 Programmer Practice Exams (Exam 310-065)”Assesment test 2 中的一道题。
给定:
public class WeatherTest {
static Weather w;
public static void main(String[] args) {
System.out.print(w.RAINY.count + " " + w.Sunny.count + " ");
}
enum Weather {
RAINY, Sunny;
int count = 0;
Weather() {
System.out.print("c ");
count++;
}
}
}
结果如何?
A. c 1 c 1
B. c 1 c 2
C. cc 1 1
D. cc 1 2
E. cc 2 2
F。编译失败。
G.运行时抛出异常。
书上的答案是 C。
但是当我尝试运行此代码时,我收到编译错误,提示“应以静态方式访问静态字段 WeatherTest.Weather.RAINY”。
这是正确和预期的,但没有人在互联网上抱怨它,所以我想知道我是否遗漏了什么?跟Java版本有关系吗?
【问题讨论】:
标签: java enums static open-closed-principle