黑马程序员_java枚举笔记

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

现实中有这么一类是事物,它们只能取有限固定的值,比如星期几、性别、交通灯等等。java就针对这类事物定义了一个新的特性——枚举,它是一种特殊的类。

枚举的特点:

1.私有构造方法。

2.每个元素分别用一个共有的静态成员变量表示。

3.可以有若干个公有方法和抽象方法。

枚举的语法:

1. 基本语法

	public enum TrafficLamp{
		RED,GREEN,YELLOW;
	}

	TrafficLamp tl = TrafficLamp.GREEN;
	System.out.println(tl);
枚举中定义的交通灯有RED,GREEN,YELLOW三个值,意味着enum中事先定义了3个交通灯对象,而且只有这3个交通灯对象,因为构造方法是私有的。由于这3个对象可以由枚举名直接获取,所以这3个对象是静态的。

2. 带有构造函数的枚举

	public enum TrafficLamp{
		RED(20),GREEN(30),YELLOW(3);
		private TrafficLamp(){}
		private TrafficLamp(int time){
			System.out.println(time);
		}
	}
枚举中我们可以定义构造方法,在3个对象值后面传入参数。


3. 带有抽象方法的枚举


<span style="white-space:pre">	</span>public enum TrafficLamp{
		RED(20) {
			@Override
			public TrafficLamp nextLamp() {
				// TODO Auto-generated method stub
				return GREEN;
			}
		},
		GREEN(30) {
			@Override
			public TrafficLamp nextLamp() {
				// TODO Auto-generated method stub
				return YELLOW;
			}
		},
		YELLOW(3) {
			@Override
			public TrafficLamp nextLamp() {
				// TODO Auto-generated method stub
				return RED;
			}
		};
		private TrafficLamp(){}
		private TrafficLamp(int time){
			System.out.println(time);
		}
		public abstract TrafficLamp nextLamp(); 
	}


枚举中可以定义抽象方法,这个抽象方法由其子类实现,枚举在建立3个对象时用内部类的形式继承带有抽象方法的枚举,实现抽象方法。
------- Windows Phone 7手机开发.Net培训、期待与您交流! -------
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值