我写了一个测试类,我正在尝试枚举类型:
public class EnumTest {
enum Car{MERCEDEZ, FERRARI};
public static void main(String[] args) {
Car carObj;
carObj.run();
}
}
Run Code Online (Sandbox Code Playgroud)
所以似乎我可以使用枚举 "声明"一个类(因为我的包中没有类Car),我把方法run()
看看会发生什么.在那之后,我run()
按照IDE的建议写了我的身体,但也在枚举中.
enum Car {
MERCEDEZ, FERRARI;
public void run() {
}
};
Run Code Online (Sandbox Code Playgroud)
我觉得这很奇怪,但还可以.我继续我的弗兰肯斯坦实验并试图用main上的构造函数初始化对象.
enum Car {
MERCEDEZ, FERRARI;
public void run() {
// TODO Auto-generated method stub
};
Car(){}
};
Run Code Online (Sandbox Code Playgroud)
Car carObj = new Car();
Run Code Online (Sandbox Code Playgroud)
它说我无法实例化类型EnumTest.Car,所以我的测试已经完成,但有疑问.对不起,如果它看起来很傻,但我没有在我的搜索中找到这个.
问题:为什么我可以将汽车'像'一类,但我不能初始化它?