---------------------- android培训、java培训、期待与您交流! ----------------------
基础要点
1、枚举就相当于一个类,其中也可以定义构造方法、成员变量、普通方法和抽象方法
2、枚举元素必须位于枚举体中最开是的部分,枚举元素列表的后要有“;”与其他成员分隔。若把枚举中的变量或方法放在枚举元素前,编译器会报错。
3、如果枚举只有一个成员时,就可以作为一种单列的实现方式
例如视频中所讲的交通灯
package horse;
/**这是一个枚举类,是从交通灯视频里拆下来的内容
*/
public enum Light {
//定义了三种颜色的灯:红黄绿,灯后括号里内容为等待的时间
//若无括号也可以但就没有时间了
RED(30){
public Light getNext(){
System.out.println("red");
return GREEN;
}
},
GREEN(35){
public Light getNext(){
System.out.println("green");
return YELLOW;
}
},
YELLOW(5){
public Light getNext(){
System.out.println("yellow");
return RED;
}
};
//定义等待的时间
private int time;
private Light(int time){
this.time = time;
}
public abstract Light getNext();
}
在写是个枚举的时候我将等待的时间和成员方法放在了枚举前,编译器果然报错了
下面做一个类用于显示灯的效果
package horse;
/**创建一个函数用于显示enum的效果
* @param args
*/
public class LightTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Light.RED.getNext().getNext().getNext();
}
}
下面在做一个与上面不同的
先定义一个星期枚举
package horse;
public enum Week {
/*创建的枚举元素必须在第一行,
*这里元素可以无括号,上面的交通灯有主要是因为要设状态
*/
SUN,MON,TUE,WEN,THT,FRI,SAT;
//枚举的构造方法必须为私有
private Week(){
System.out.println();
}
private Week(int day){
System.out.println();
}
}
下面是实现形式
package horse;
public class WeekTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Week weekDay = Week.FRI;
System.out.println(weekDay);
//返回枚举常量的名称
System.out.println(weekDay.name());
System.out.println(Week.valueOf("SUN"));
//创建枚举的一个数组用于输出这七个星期
Week[] ws = Week.values();
for(Week w : ws){
System.out.println(w);
}
}
}
---------------------- android培训、java培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net/heima