首页 / JAVA / Java入门笔记 07-枚举类
Java入门笔记 07-枚举类
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java入门笔记 07-枚举类,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2487字,纯文字阅读大概需要4分钟。
内容图文
![Java入门笔记 07-枚举类](/upload/InfoBanner/zyjiaocheng/1140/519d1e94ceab4034ab1aaf5f01467c12.jpg)
介绍:在某些情况下,一个类的对象是有限且固定的,比如季节类,只有四个对象:春夏秋冬。这种实例有限而且固定的类,被称为枚举类。在JDK 5.0及以后,可以使用enum关键字定义枚举类,并且默认继承于java.lang.Enum类。
一、使用enum关键字定义枚举类:
1. 枚举类入门:最简单的枚举类可以仅仅定义枚举值,若需要使用该枚举类的某个实例,可以直接通过 枚举类名.枚举值 来调用。如下:
enum Season{ SPRING,SUMMER,AUTUMN,WINTER; } Season s = Season.SPRING; System.out.println(s.toString());//SPRING
2. 枚举类进阶:枚举类是一种特殊的类,因此也可以定义成员变量、方法和构造器。
- 提供当前枚举类的对象,多个对象之间采用逗号隔开,使用分号结束;
- 声明Season对象的属性,使用private final修饰;
- 私有化构造器,并为对象属性赋值;
- 其他诉求:获取枚举类对象的属性。
在枚举类中列出枚举值时,实际上就是调用构造器创建枚举类对象,只是这里无须使用new关键字,也无须显式调用构造器。前面列出枚举值时无须传入参数,甚至无须使用括号,仅仅是因为前面的枚举类中包含无参数的构造器。
1 enum Season{ 2 SPRING("春天","这是春天"), 3 SUMMER("夏天","这是夏天"), 4 AUTUMN("秋天","这是秋天"), 5 WINTER("冬天","这是冬天"); 6 7privatefinal String seasonName; 8privatefinal String seasonDesc; 910private Season(String seasonName,String seasonDesc){ 11this.seasonName = seasonName; 12this.seasonDesc = seasonDesc; 13 } 1415public String getSeasonName() { 16return seasonName; 17 } 1819public String getSeasonDesc() { 20return seasonDesc; 21 } 22 }
3. 实现接口的枚举类:
1 interface Info{ 2 void show(); 3 } 4 5 enum Season implements Info{ 6 SPRING("春天","这是春天"), 7 SUMMER("夏天","这是夏天"), 8 AUTUMN("秋天","这是秋天"), 9 WINTER("冬天","这是冬天"); 1011privatefinal String seasonName; 12privatefinal String seasonDesc; 1314private Season(String seasonName,String seasonDesc){ 15this.seasonName = seasonName; 16this.seasonDesc = seasonDesc; 17 } 1819public String getSeasonName() { 20return seasonName; 21 } 2223public String getSeasonDesc() { 24return seasonDesc; 25 } 2627 @Override 28publicvoid show() { 29 System.out.println("这是一个季节"); 30 } 31} 3233 Season s = Season.SPRING; 34System.out.println(s.toString()); 35s.show(); 3637输出: 38SPRING 39 这是一个季节
也可以将接口中的抽象方法放在枚举值中来实现,如下:
interface Info{ void show(); } enum Season implements Info{ SPRING("春天","这是春天"){ publicvoid show() { System.out.println("这是春天"); } }, SUMMER("夏天","这是夏天"){ publicvoid show() { System.out.println("这是夏天"); } }, AUTUMN("秋天","这是秋天"){ publicvoid show() { System.out.println("这是秋天"); } }, WINTER("冬天","这是冬天"){ publicvoid show() { System.out.println("这是冬天"); } }; privatefinal String seasonName; privatefinal String seasonDesc; private Season(String seasonName,String seasonDesc){ this.seasonName = seasonName; this.seasonDesc = seasonDesc; } public String getSeasonName() { return seasonName; } public String getSeasonDesc() { return seasonDesc; } } Season s = Season.SPRING; System.out.println(s.toString()); s.show(); 输出: SPRING 这是春天
原文:https://www.cnblogs.com/dailymatters/p/12293881.html
内容总结
以上是互联网集市为您收集整理的Java入门笔记 07-枚举类全部内容,希望文章能够帮你解决Java入门笔记 07-枚举类所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。