java入门学习(13)—枚举类定义及使用初步

1、什么是枚举类?

      枚举类是一种实例是已知而且固定的类。

2、如何定义一个枚举类型?以及初步使用?

语法:【修饰符】 enum 枚举名

{

//必须要在第一行立刻列出所有的枚举实例【其实是在调用无参数的构造器创建实例

          //属性【一般设置成private修饰的,不让别人随意修改】

        //方法【方法可以抽象方法,然后在列出所有实例的时候用匿名类的方式,重写这个方法】

        //构造器【只能是私有的,private修饰,因为实例已经固定,不能再随意创建】

        //初始化块

        //内部类

}

代码示例:

//模拟一个算术运算
public enum OPeration
{
	//列出所有实例,所有可能的实例(<strong>如果是普通方法,则应该写成:PLUS,SUB;</strong>)
	<strong>//实际是创建实例,相当于调用无参数的构造器创建实例MALE(),如果没有无参数的构造器的话要传入相应的参数</strong>
	//但是当枚举类是抽象类的时候,不能创建实例
	//这时需要立即创建匿名内部类的实例
	PLUS()
	{
		//匿名内部类需要重写抽象方法
		public  double eval(double x,double y)
		{
			return x+y;
		}
		
	},//注意此处是逗号
	SUB()
	{
		public  double eval(double x,double y)
		{
			return x*y;
		}
	};
	//如果已经有抽象方法,则枚举类就默认有abstract修饰。
	//此时该枚举类没有final修饰
	public abstract double eval(double x,double y);
	public static void main(String [] args)
	{
		
		System.out.println(OPeration.PLUS.eval(2.3,5.6));
	}
	
}

3、实现接口的枚举类?

[语法】:【修饰符】 enum 枚举类名 implements 父接口  {  实现类体 }

a、枚举类也可以实现一个或多个接口。

1、实现接口包含的所有抽象方法,此时的枚举是普通的枚举。

2、如果没有全部实现抽象方法,则在列出的枚举实例的时候要用到匿名类,并重写没有重写的抽象方法。

4、【注意点】

a、枚举类型都有一个value()方法,该方法返回所有的枚举实例。

b、在枚举类的类体力列出的实例中,前面的实例小,后面的大。

c、包含抽象方法的枚举类不用abstract显式的修饰,系统默认就是抽象的枚举类。

d、枚举类可以实现一个或者多个接口,但是默认继承的是java.lang.Enum类,而Object类是间接父类。

e、构造器只能是private修饰。

f、实例必须再第一行列出,默认添加了public static  final  当含有抽象方法时,应该用匿名类重写抽象方法。

5、常用方法:

a、int compareTo();比较,在前返回负值,在后返回正值。

b.、String  name():返回枚举的实例名称。

c、int ordinal();返回枚举实例所在的下标。



/


5


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值