本帖最后由 阿凡提不买驴 于 2013-7-28 11:11 编辑
- public class EnumerationDemo{
- public static void main(String args[]){
- WeekDay weekday = WeekDay.SUN;
- TrafficLamp trafficlame=TrafficLamp.GREEN;
- System.out.println(trafficlame);
- System.out.println(weekday);
- //System.out.println(WeekDay.valueOf("MON").toString());
- //System.out.println(WeekDay.values().length);
- //System.out.println(TrafficLamp.GREEN.nextLamp());
- //new Date(200){};//和交通灯,子类的对象调用父类的有参构造方法
- }
- public enum WeekDay{
- SUN,MON,TUE,WED,THI,FRI,SAT;
- private WeekDay(){
- System.out.println("first");
- }
- private WeekDay(int day){
- System.out.println("second");
- }
- }
- public enum TrafficLamp{
- RED(30){
- @Override
- public TrafficLamp nextLamp() {
- // TODO Auto-generated method stub
- return GREEN;
- }
- },
- GREEN(45){
- @Override
- public TrafficLamp nextLamp() {
- // TODO Auto-generated method stub
- return YELLOW;
- }
- },
- YELLOW(5){
- @Override
- public TrafficLamp nextLamp() {
- // TODO Auto-generated method stub
- return RED;
- }
- };
- public abstract TrafficLamp nextLamp();
- private int time;
- private TrafficLamp(int time){
- this.time=time;
- }
- }
- }
复制代码
为什么运行结果weekday会不断调用构造方法,而trafficlamp就不会?
|