首页 / JAVA / JAVA_SE 枚举类
JAVA_SE 枚举类
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JAVA_SE 枚举类,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3043字,纯文字阅读大概需要5分钟。
内容图文
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
内容总结
以上是互联网集市为您收集整理的JAVA_SE 枚举类全部内容,希望文章能够帮你解决JAVA_SE 枚举类所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。