博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java枚举类
阅读量:5330 次
发布时间:2019-06-14

本文共 2147 字,大约阅读时间需要 7 分钟。

enum关键字用于定义枚举类,若枚举只有一个成员, 则可以作为一种单例模式的实现方式。

 
枚举类对象的属性不应允许被改动, 所以应该使用 
private final 修饰。
枚举类的使用 private final 修饰的属性应该在构造器中为其赋值。
若枚举类显式的定义了带参数的构造器, 则在列出枚举值时也必须对应的传入参数。
 
必须在枚举类的第一行声明枚举类对象。
枚举类和普通类的区别:
       1.使用 enum 定义的枚举类默认继承了 java.lang.Enum 类
       2.枚举类的构造器只能使用 private 访问控制符
       3.枚举类的所有实例必须在枚举类中显式列出(以,分隔 以; 结尾). 列出的实例系统会自动添加
 public static final 修饰
 
JDK1.5之前需要自定义枚举类:
 
/*枚举类的自定义方式*/public class TestSeason {    public static void main(String[] args){         Season spring=Season.SPRING;         System.out.println(spring);         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;    }     public static final Season SPRING=new Season("spring","春暖花开");    public static final Season SUMMER=new Season("summer","夏日炎炎");    public static final Season AUTOMN=new Season("automn","秋高气爽");    public static final Season WINTER=new Season("winter","白雪皑皑");        //通过公共的方法来调用属性    public String getSeasonName() {        return seasonName;    }    public String getSeasonDesc() {        return seasonDesc;    }    @Override    public String toString() {        return "Season [seasonName=" + seasonName + ", seasonDesc="                + seasonDesc + "]";    }}
JDK 1.5 新增的 enum 关键字用于定义枚举类:
     枚举类的主要方法:
         1.values()方法:返回枚举类型的对象数组。该方法可以很方便地遍历所有的枚举值。
         2.valueOf(String str):可以把一个字符串转为对应的枚举类对象。要求字符串必须是枚举类对象的“名字”。如不是,会有运行时异常。
     
若需要每个枚举值在调用实现的接口方法呈现出不同的行为方式, 则可以让每个枚举值分别来实现该方法
/* * 一.枚举类 * 1.如何自定义枚举类 * 2.如何使用enum关键字定义枚举类 *      常用的方法;values(),valueOf(String str) *      如何使枚举类实现接口:可以让不同的枚举类的对象调用被重写的抽象方法,执行的效果不同(相当于每个对象重写抽象方法) * */public class TestSeason1{    public static void main(String[] args){        SeasonEnum spring=SeasonEnum.SPRING;        System.out.println(spring);        System.out.println(spring.getSeasonName());                //1.values方法可以返回枚举类型的对象数组,可以方便遍历所有的枚举值        SeasonEnum[] seasons=SeasonEnum.values();        for(int i=0;i

 

转载于:https://www.cnblogs.com/xujiming/p/4638494.html

你可能感兴趣的文章
激活office 365 的启动文件
查看>>
无法根据中文查找
查看>>
[简讯]phpMyAdmin项目已迁移至GitHub
查看>>
转载 python多重继承C3算法
查看>>
【题解】 bzoj1597: [Usaco2008 Mar]土地购买 (动态规划+斜率优化)
查看>>
css文本溢出显示省略号
查看>>
git安装和简单配置
查看>>
fat32转ntfs ,Win7系统提示对于目标文件系统文件过大解决教程
查看>>
Awesome Adb——一份超全超详细的 ADB 用法大全
查看>>
shell cat 合并文件,合并数据库sql文件
查看>>
Android 将drawable下的图片转换成bitmap、Drawable
查看>>
介绍Win7 win8 上Java环境的配置
查看>>
Linux设置环境变量的方法
查看>>
构建自己的项目管理方案
查看>>
利用pca分析fmri的生理噪声
查看>>
div水平居中且垂直居中
查看>>
epoll使用具体解释(精髓)
查看>>
AndroidArchitecture
查看>>
安装Endnote X6,但Word插件显示的总是Endnote Web"解决办法
查看>>
python全栈 计算机硬件管理 —— 硬件
查看>>