黑马程序员—Java基础加强(枚举)

本文详细介绍了Java枚举的定义及使用方法,包括如何创建枚举类型、定义枚举的属性和方法,以及如何通过匿名内部类的方式实现枚举中抽象方法的具体逻辑。并通过一个交通灯的枚举类实例,展示了枚举在实际应用中的灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

------- android培训java培训、期待与您交流! ----------

 

 

枚举:

就是一个特殊的java类,可以定义属性、方法、构造函数、实现接口、继承类

如何定义一个枚举类?我们来定义一个交通灯的枚举类。

代码示例:

//这就是一个枚举。枚举里面元素列表必须位于所有的成分之前,如果元素列表下面还有其他代码,元素列表后要加 ; 号。
	//枚举相当于是一个类,枚举里面的元素就是类实例化出来的对象。
	public enum WeekDay{
		//枚举的元素
		SUN(3),MON,TUE,WED,Thu,FRI,SAT;
		//构造函数,枚举的构造函数只能是private修饰的
		private WeekDay() {System.out.println("first");}
		//带参构造函数
		private WeekDay(int day) {System.out.println("second");}
	}

定义一个交通灯的枚举类:
代码示例:
	//定义一个交通灯枚举
	public enum TrafficLamp{
		//红灯对象,它是TrafficLamp的子类的实例化对象,子类的构造函数初始化红灯的时间为30秒。用匿名内部类的方式来获取这个对象。
		RED(30){

			//子类重写nextLamp方法,返回GREEN灯
			public TrafficLamp nextLamp() {
				// TODO Auto-generated method stub
				return GREEN;
			}
			
		},
		//绿灯对象,它是TrafficLamp的子类的实例化对象,子类的构造函数初始化红灯的时间为45秒。用匿名内部类的方式来获取这个对象。
		GREEN(45){

			//子类重写nextLamp方法,返回YELLOW灯
			public TrafficLamp nextLamp() {
				// TODO Auto-generated method stub
				return YELLOW;
			}
			
		},
		//黄灯对象,它是TrafficLamp的子类的实例化对象,子类的构造函数初始化红灯的时间为15秒。用匿名内部类的方式来获取这个对象。
		YELLOW(15){

			//子类重写nextLamp方法,返回RED灯
			public TrafficLamp nextLamp() {
				// TODO Auto-generated method stub
				return RED;
			}
			
		};
		//抽象方法,该方法返回的还是三个灯对象
		public abstract TrafficLamp nextLamp();
		//定义一个时间变量
		private int time;
		
		//构造函数,枚举中只能用private修饰。初始化交通灯的时间
		private TrafficLamp(int time) {this.time = time;}
		
	}
	
	public enum WeekDay3 {
		MON,TUE,WED,THU,FRI,SAT,SUN;
	}
}


 ------- android培训java培训、期待与您交流! ----------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值