枚举类
(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的编号的值
标签:对象,enum,枚举,xx,values,XX 来源: https://www.cnblogs.com/yramvj/p/16061179.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。