java枚举

枚举:枚举最早的雏(在java5.0前没有引入枚举)是在类里用final来定义常量类(将类自身的构造函数全部私有,然后对外提供常量类的调用),例如:

class EnumDemo{
public fianl static EnumDemo A= new EnumDemo();
public fianl static EnumDemo B= new EnumDemo();
public fianl static EnumDemo C= new EnumDemo();
 
private EnumDemo(){
 
}
}

对外调用时EnumDemo.AEnumDemo.B


以上是没有引入枚举时使用枚举的方法,现在引入枚举可以直接写:

enum EnumDemo{
	A,B,C;
}

相当于上面的代码。



带字段、方法、构造函数的枚举:

enum EnumDemo{
	A("a"),B("b"),C("c");

	private String value;

	private EnumDemo(Sring str){
		this.value=str;
	}

	public String getValue(){
		return this.value;
	}
}

带抽象方法:

package com.summer.day1;


public enum EnumDemo {

	A("a"){
		@Override
		public String getLocalValue() {
			// TODO Auto-generated method stub
			return "优秀";
		}
		
	}
	,B("b") {
		@Override
		public String getLocalValue() {
			// TODO Auto-generated method stub
			return "良好";
		}
	}
	,C("c") {
		@Override
		public String getLocalValue() {
			// TODO Auto-generated method stub
			return "一般";
		}
	};

	private String value;

	private EnumDemo(String str){
		this.value=str;
	}
	public String getValue(){
		return this.value;
	}

	public abstract String getLocalValue();
}

注意:要在枚举时覆写抽象方法,否则会报错。


总结:

  1. 枚举类中的每一个枚举值都是枚举类的一个实例对象。
  2. 枚举的构造方法必须private
  3. 枚举类也可以实现接口,继承抽象类。
  4. 若枚举只有一个枚举值,可以当做单态设计模式使用。
  5. Java中所有的枚举类都继承了java.lang.Enum。常用的方法name(),ordinal()(枚举从0开始计数),valueofclassstring)(用来检验表单提交的值是不是枚举允许的)、values()(在开发文档里查询不到,一般用来遍历枚举)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值