Java教程

枚举类

本文主要是介绍枚举类,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

枚举类

(enumeration)

枚举属于一种特殊的类,里面只包含一组有限的特定的对象

自定义枚举类

1、将构造器私有化,防止直接new

2、去掉setXxx方法,防止属性被修改

3、在类的内部直接创建固定的对象

4、优化:可以添加 final 修饰符

enum枚举类

enum Season { //enum代替 class
	//直接创建对象, 多个对象用逗号间隔。 语法:常量名(实参列表)
	Spring("春天", "xx"), Winter("冬天", "xx")..., What;//What调用无参构造器,可以省略( ) 
	...
}

注意事项

1、用 enum关键字 开发一个枚举类时候,默认会继承Enum类(不能再继承其他类了),而且是一个final类

2、传统的创建对象能进行简略,但必须明确是哪个构造器,无参构造器的实参列表和小括号都可以省略

3、当有多个枚举对象时,使用逗号“,”间隔

4、枚举对象必须放在枚举类的行首(创建对象放在行首)

5、枚举类和普通类一样,可以实现接口

成员方法

XX为枚举类名,xx为枚举对象

XX a = XX.xx;

1、name:输出枚举对象的名字

System.out.println(a.name());

2、ordinal:输出枚举对象的次序/编号

System.out.println(a.ordinal());

3、values:返回含有定义的所有枚举对象 (返回 XX[])

XX values[] = XX.values();
for (XX a : values) {
	...
}

4、valueOf:将字符串转换成枚举对象,要求字符串必须为已有的常量名,否则报异常

XX a = XX.valueOf("xx");

5、toString:Enum类已经重写过了,返回的是当前的对象名,子类可以重写该方法,用于返回对象的属性信息

6、compareTo:比较两个枚举常量,比较的是编号

System.out.println(XX.xx.compareTo(XX.yy));//返回 xx的编号 - yy的编号的值
这篇关于枚举类的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!