黑马程序员_java学习日记_Java高新技术_枚举
2012-07-01 13:43
489 查看
-------- android培训,java培训java学习型技术博客、期待与您交流! -------
枚举
枚举(Enum)可以使用构造方法,构造方法必须是私有的(private)。
枚举(Enum)可以使用成员变量和成员方法
例1.这是在5.0之前使用模式做出枚举
finalclass Season
{public static final Season SPRING=newSeason();
public static final Season WINTER=newSeason();
public static final Season SUMMER=newSeason();
public static final Season AUTUMN=newSeason();
private Season(){...}
}
例2.使用5.0的新特性枚举类
importjava.lang.Enum.*;
enum Season2
{ SPRING,
SUMMER,
AUTUMN,
WINTER
}
经过编译运行,例1和例2完全是等价的。
public class EnumTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
WeekDay1 weekDay = WeekDay1.MON;
System.out.println(weekDay.nextDay());
WeekDay weekDay2 = WeekDay.FRI;
System.out.println(weekDay2);
System.out.println(weekDay2.name());
System.out.println(weekDay2.ordinal());
System.out.println(WeekDay.valueOf("SUN").toString());
System.out.println(WeekDay.values().length);
new Date(300){};
}
public enum WeekDay{
SUN(1),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){
public TrafficLamp nextLamp(){
return GREEN;
}
},
GREEN(45){
public TrafficLamp nextLamp(){
return YELLOW;
}
},
YELLOW(5){
public TrafficLamp nextLamp(){
return RED;
}
};
public abstract TrafficLamp nextLamp();
private int time;
private TrafficLamp(int time){this.time = time;}
}
}
-------- android培训,java培训java学习型技术博客、期待与您交流! -------
枚举
枚举(Enum)可以使用构造方法,构造方法必须是私有的(private)。
枚举(Enum)可以使用成员变量和成员方法
例1.这是在5.0之前使用模式做出枚举
finalclass Season
{public static final Season SPRING=newSeason();
public static final Season WINTER=newSeason();
public static final Season SUMMER=newSeason();
public static final Season AUTUMN=newSeason();
private Season(){...}
}
例2.使用5.0的新特性枚举类
importjava.lang.Enum.*;
enum Season2
{ SPRING,
SUMMER,
AUTUMN,
WINTER
}
经过编译运行,例1和例2完全是等价的。
public class EnumTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
WeekDay1 weekDay = WeekDay1.MON;
System.out.println(weekDay.nextDay());
WeekDay weekDay2 = WeekDay.FRI;
System.out.println(weekDay2);
System.out.println(weekDay2.name());
System.out.println(weekDay2.ordinal());
System.out.println(WeekDay.valueOf("SUN").toString());
System.out.println(WeekDay.values().length);
new Date(300){};
}
public enum WeekDay{
SUN(1),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){
public TrafficLamp nextLamp(){
return GREEN;
}
},
GREEN(45){
public TrafficLamp nextLamp(){
return YELLOW;
}
},
YELLOW(5){
public TrafficLamp nextLamp(){
return RED;
}
};
public abstract TrafficLamp nextLamp();
private int time;
private TrafficLamp(int time){this.time = time;}
}
}
-------- android培训,java培训java学习型技术博客、期待与您交流! -------
相关文章推荐
- 黑马程序员_java学习日记_Java高新技术_枚举
- 黑马程序员--反射机制和类加载器--java学习日记12(高新技术)
- 黑马程序员_Java学习日记23_高新技术2
- 黑马程序员_java学习日记_Java高新技术_反射(二)
- 黑马程序员_java学习日记_Java高新技术静态导入,可变参数和加强的FOR循环
- 黑马程序员_JAVA学习日记_JAVAJDK1.5以后高新技术
- 黑马程序员--Java学习日记之类的加载,反射,动态代理,枚举
- 黑马程序员_java学习日记_Java高新技术_网络编程
- 黑马程序员--内省和JavaBean--java学习日记13(高新技术)
- 黑马程序员_Java学习日记24_高新技术3
- 黑马程序员_java学习日记_Java高新技术_反射
- 黑马程序员_java学习日记_Java高新技术_Eclipse快捷键
- 黑马程序员——java高新技术学习日记(1)
- 黑马程序员_java学习日记_Java高新技术_反射(一)
- 黑马程序员——java高新技术学习日记(2)
- 黑马程序员_Java学习日记22_高新技术1
- 黑马程序员_Java学习日记25_高新技术4
- 黑马程序员——学习日记20 java高新技术(上)
- 黑马程序员_Java学习日记26_高新技术5
- 黑马程序员——java高新技术学习日记(3)