在枚举单独的类

反正有没有把这个测试在一个单独的类? 我试过,但没有成功。

public class TrafficLightprj { public enum TrafficLight { RED(1), GREEN(2), YELLOW(3); private final int duration; TrafficLight(int duration) { this.duration = duration; } public int getDuration() { return this.duration; } public static void main(String[] args) { for(TrafficLight light: TrafficLight.values()) { System.out.println("The traffic light value is: " +light); System.out.println("The duration of that trafic light value is: " + light.getDuration()); } } } }

--------------解决方案-------------

我不知道我理解你在你的问题的意思,所以我就回答什么 ,我认为你是问。

枚举可以在Java中它自己的文件。 例如,你可以有一个名为交通灯文件,该文件,里面是:

public enum TrafficLight {
RED(1),
GREEN(2),
YELLOW(3);

private final int duration;

TrafficLight(int duration) {
this.duration = duration;
}

public int getDuration() {
return this.duration;
}
}

然后,您可以使用此枚举从测试项目(TrafficLightPrj.java)。 像这样:

public class TrafficLightprj {

public static void main(String[] args) {
for(TrafficLight light: TrafficLight.values()) {
System.out.println("The traffic light value is: " +light);
System.out.println("The duration of that trafic light value is: " +light.getDuration());
}
}
}

你需要把它放在不同的.java文件本身。 你不能在一个单一的java文件多个公共类/枚举。

TrafficLightprj.java

public class TrafficLightprj {

public static void main(String[] args) {
for(TrafficLight light: TrafficLight.values()){
System.out.println("The traffic light value is: " +light);
System.out.println("The duration of that trafic light value is: " +light.getDuration());
}
}
}

TrafficLight.java

public enum TrafficLight {
RED(1),
GREEN(2),
YELLOW(3);

private final int duration;

TrafficLight(int duration) {
this.duration = duration;
}

public int getDuration() {
return this.duration;
}
}

当然,但你需要限定枚举类名。 TrafficLightprj.TrafficLight ,而不是TrafficLight 。 或者,我想,将其导入。

我不是非私有嵌套类的大风扇,并建议作出枚举顶层。

假设你的问题是:“如何在不同的源文件得到一个嵌套枚举?”

这将有可能与部分类,但这不是在Java支持。

分类:java的 时间:2013-01-26 人气:0
本文关键词: Java中,枚举
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 1.005 (s). 10 q(s)