JAVA_SE 枚举类
2019-02-17 01:52:15来源:博客园 阅读 ()
public class TestSeason { public static void main(String[] args) { Season spring = Season.SPRING; System.out.println(spring); spring.show(); System.out.println(spring.getSeasonName()); } } //枚举类 class Season{ //1.提供类的属性,声明为private final private final String seasonName; private final String seasonDesc; //2.声明为final的属性,在构造器中初始化。 private Season(String seasonName,String seasonDesc){ this.seasonName = seasonName; this.seasonDesc = seasonDesc; } //3.通过公共的方法来调用属性 public String getSeasonName() { return seasonName; } public String getSeasonDesc() { return seasonDesc; } //4.创建枚举类的对象:将类的对象声明public static final public static final Season SPRING = new Season("spring", "春暖花开"); public static final Season SUMMER = new Season("summer", "夏日炎炎"); public static final Season AUTUMN = new Season("autumn", "秋高气爽"); public static final Season WINTER = new Season("winter", "白雪皑皑"); @Override public String toString() { return "Season [seasonName=" + seasonName + ", seasonDesc=" + seasonDesc + "]"; } public void show(){ System.out.println("这是一个季节"); } }
jdk5 enum关键字创建枚举类
/* * 一、枚举类 * 1.如何自定义枚举类 * 2.如何使用enum关键字定义枚举类 * >常用的方法:values() valueOf(String name) * >如何让枚举类实现接口:可以让不同的枚举类的对象调用被重写的抽象方法,执行的效果不同。(相当于让每个对象重写抽象方法) */ public class TestSeason1 { public static void main(String[] args) { Season1 spring = Season1.SPRING; System.out.println(spring); spring.show(); System.out.println(spring.getSeasonName()); System.out.println(); //1.values() Season1[] seasons = Season1.values(); for(int i = 0;i < seasons.length;i++){ System.out.println(seasons[i]); } //2.valueOf(String name):要求传入的形参name是枚举类对象的名字。 //否则,报java.lang.IllegalArgumentException异常 String str = "WINTER"; Season1 sea = Season1.valueOf(str); System.out.println(sea); System.out.println(); Thread.State[] states = Thread.State.values(); for(int i = 0;i < states.length;i++){ System.out.println(states[i]); } sea.show(); } } interface Info{ void show(); } //枚举类 enum Season1 implements Info{ SPRING("spring", "春暖花开"){ public void show(){ System.out.println("春天在哪里?"); } }, SUMMER("summer", "夏日炎炎"){ public void show(){ System.out.println("生如夏花"); } }, AUTUMN("autumn", "秋高气爽"){ public void show(){ System.out.println("秋天是用来分手的季节"); } }, WINTER("winter", "白雪皑皑"){ public void show(){ System.out.println("冬天里的一把火"); } }; private final String seasonName; private final String seasonDesc; private Season1(String seasonName,String seasonDesc){ this.seasonName = seasonName; this.seasonDesc = seasonDesc; } public String getSeasonName() { return seasonName; } public String getSeasonDesc() { return seasonDesc; } @Override public String toString() { return "Season [seasonName=" + seasonName + ", seasonDesc=" + seasonDesc + "]"; } // public void show(){ // System.out.println("这是一个季节"); // } }
1. new 枚举类时,需要进行简写
2. 枚举类可以直接继承接口,与java 正常类一样。并且可以对单独的枚举类重写方法。
3. 主要方法
values()方法:返回枚举类型的对象数组。该方法可以很方便地遍历所有的枚举值。
valueOf(String str):可以把一个字符串转为对应的枚举类对象。要求字符串必须是枚举类对象的“名字”。如不是,会有运行时异常。
int |
ordinal() 返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。 |
原文链接:https://www.cnblogs.com/lliuqh/p/10388159.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash