java-基础加强之枚举
2012-12-01 17:19
344 查看
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{//定义枚举就是用这个单词 enum ,它和类是一个级别的
SUN(1),MON(),TUE,WED,THI,FRI,SAT;// 枚举中的元素不能在外部类中添加,因为构造方法已经私有化了,所以元素就说固定的几个,且都为枚举的对象
private WeekDay(){System.out.println("first");}//默认空参数构造方法
private WeekDay(int day){System.out.println("second");}//也可以知道有参数的构造方法
}
public abstract 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;}//注意:这里创建子类对象用的是父类有参的构造方法(这种方法可行。。。)
}
}
/**
* @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{//定义枚举就是用这个单词 enum ,它和类是一个级别的
SUN(1),MON(),TUE,WED,THI,FRI,SAT;// 枚举中的元素不能在外部类中添加,因为构造方法已经私有化了,所以元素就说固定的几个,且都为枚举的对象
private WeekDay(){System.out.println("first");}//默认空参数构造方法
private WeekDay(int day){System.out.println("second");}//也可以知道有参数的构造方法
}
public abstract 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;}//注意:这里创建子类对象用的是父类有参的构造方法(这种方法可行。。。)
}
}
相关文章推荐
- Java基础加强--自动装箱、享元模式、枚举
- Java基础加强<一>_MyEclipse、JDK1.5新特性、枚举、反射
- 黑马程序员_java基础加强_静态导入_反射_枚举_注解_内省_泛型_代理
- 黑马程序员 java基础加强——jdk1.5新特性—枚举
- java基础加强--实现带有抽象方法的枚举
- Java基础加强-java5的枚举
- 黑马程序员_java_基础加强_静态导入_反射_枚举_注解_内省_泛型
- 黑马程序员—Java基础加强(枚举)
- 黑马程序员--Java基础加强学习笔记之重载和覆写、可变参数、枚举
- Java基础加强<二>可变参数、增强for循环、基本类型的自动拆箱与装箱、枚举
- 【黑马程序员】java基础加强_枚举
- 黑马程序员—Java基础加强—(枚举)
- Java 基础加强 - JDK1.5 新特性 - 枚举
- JAVA基础加强之枚举
- 黑马程序员--Java基础加强--01.枚举常量被使用的时候的内存图
- java基础加强(二)(枚举与反射)
- 黑马程序员:基础加强(可变参数、增强for、枚举、javabBean、BeanUtils、注解、泛型)
- 黑马程序员-JAVA基础加强-枚举
- java基础加强_03_枚举
- Java基础加强枚举笔记