带构造方法和抽象方法的枚举
2014-07-12 21:48
148 查看
package cn.itcast.day1;
public class Enum {
public static void main(String[] args) {
Weekday1 weekday = Weekday1.SAT;
System.out.println(weekday.nextDay());
System.out.println(Weekday.FRI);
System.out.println(Weekday.MON.name());
System.out.println(Weekday.MON.ordinal());
}
public enum Weekday{
//最简单的枚举
SUN,MON,TUS,WED,THU,FRI,SAT;//此处可以加 ;号,亦可以不加
//带构造方法的枚举
//当枚举带构造方法时,1 ,构造方法必须放在属性后面
// 2, 属性后面必须加 ;号
// 3, 构造方法必须是私有的
//无参的构造方法
private Weekday(){}
//有参的构造方法
private Weekday(int day){}
}
public enum TrifficLight{
//带有抽象方法的枚举
GREEN(30){
public TrifficLight nextLight(){
return YELLOW;
}
},
RED(15){
public TrifficLight nextLight(){
return GREEN;
}
},
YELLOW(5){
public TrifficLight nextLight(){
return RED;
}
};
//下一个灯为
public abstract TrifficLight nextLight();
//定义一个有参的构造方法
private int time;//每种灯亮的时间
private TrifficLight(int time){
this.time = time;
}
}
}
public class Enum {
public static void main(String[] args) {
Weekday1 weekday = Weekday1.SAT;
System.out.println(weekday.nextDay());
System.out.println(Weekday.FRI);
System.out.println(Weekday.MON.name());
System.out.println(Weekday.MON.ordinal());
}
public enum Weekday{
//最简单的枚举
SUN,MON,TUS,WED,THU,FRI,SAT;//此处可以加 ;号,亦可以不加
//带构造方法的枚举
//当枚举带构造方法时,1 ,构造方法必须放在属性后面
// 2, 属性后面必须加 ;号
// 3, 构造方法必须是私有的
//无参的构造方法
private Weekday(){}
//有参的构造方法
private Weekday(int day){}
}
public enum TrifficLight{
//带有抽象方法的枚举
GREEN(30){
public TrifficLight nextLight(){
return YELLOW;
}
},
RED(15){
public TrifficLight nextLight(){
return GREEN;
}
},
YELLOW(5){
public TrifficLight nextLight(){
return RED;
}
};
//下一个灯为
public abstract TrifficLight nextLight();
//定义一个有参的构造方法
private int time;//每种灯亮的时间
private TrifficLight(int time){
this.time = time;
}
}
}
相关文章推荐
- 带抽象方法的枚举
- 抽象方法的枚举
- (十六)Core Java 枚举的使用(基本介绍,构造方法枚举,抽象方法枚举) (113)
- 实现带有抽象方法的枚举
- Java枚举抽象方法实战
- 枚举用法--带抽象方法的更牛
- java基础加强--实现带有抽象方法的枚举
- 14. JAVA 枚举(Enum、类集EnumMap&EnumSet 、实现接口、定义抽象方法) ----- 学习笔记
- 带抽象方法的枚举
- Java枚举抽象方法实战
- 带抽象方法的枚举
- 22-带抽象方法的枚举
- JDK1.5新特性之枚举中的构造函数及抽象方法
- java 枚举-抽象方法结合使用
- JAVA进阶之旅(一)——增强for循环,基本数据类型的自动拆箱与装箱,享元设计模式,枚举的概述,枚举的应用,枚举的构造方法,枚举的抽象方法
- JAVA进阶之旅(一)——增强for循环,基本数据类型的自动拆箱与装箱,享元设计模式,枚举的概述,枚举的应用,枚举的构造方法,枚举的抽象方法
- 枚举中含有抽象方法
- 【java基础增强】带抽象方法的枚举
- 带抽象方法的枚举
- JDK5.0以上:一个枚举也可以有构造函数,字段和方法,带抽象方法的枚举