Java-枚举类(学习笔记)
来源:互联网 发布:java 重定向 redirect 编辑:程序博客网 时间:2024/05/14 10:05
枚举:当程序运行时的数据不是任意的,而是一定范围的值时使用枚举。jdk5以前采用的是自定义的方法,jdk5以后采用枚举的方法。
一、枚举的使用简例
public class Demo{public void test(){print(Grade.B);//只能传ABCDE指定的五个值}public void print(Grade g){//A B C D E}}//jdk5以前的自定义方法class Grade{private Grade(){}public static final Grade A = new Grade();public static final Grade B = new Grade();public static final Grade C = new Grade();public static final Grade D = new Grade();public static final Grade E = new Grade();}//jdk5以后的枚举法
enum Grade{ A,B,C,D,E;//成绩等级,Grade相当于以前的类}
二、定义枚举的构造函数、字段和方法
//如何让设计出来的枚举拥有构造函数,拥有构造函数自带的方法以封装更多的信息public class Demo{public void test(){print(Grade.B);//只能传ABCDE指定的值}public void print(Grade g){//A B C D EString value = g.getValue();System.out.println(value);}}enum Grade{//A100-90 B89-80 C79-70 D69-60 E59-0A("100-90"),B("89-80"),C("79-70"),D("69-60"),E("59-0");//Grade相当于一个类,下面为类声明了一个有参的构造函数,不同于之前new出来的无参构造函数,所以new出来的对象需要加参数private String value;//封装每个对象对象的分数private Grade(String Value){this.value = value;}public String getValue(){return this.value;}}
三、带有抽象方法的枚举
//如何在枚举中设计一个方法,使得调用这个方法时得到中文成绩public class Demo{public void test(){print(Grade.B);//只能传ABCDE指定的值}public void print(Grade g){//A B C D EString value = g.localValue();System.out.println(value);}}enum Grade{//A100-90 优秀 B89-80良好 C79-70差 D69-60及格 E59-0不及格A("100-90"){//带有抽象方法的抽象类不能直接new出实例对象,需要在new时实现这个抽象方法public String localValue(){return("优秀");}},B("89-80"){public String localValue(){return("良好");}},C("79-70"){public String localValue(){return("差");}},D("69-60"){public String localValue(){return("及格");}},E("59-0"){public String localValue(){return("不及格");}};private String value;//封装每个对象的分数private Grade(String Value){this.value = value;}public String getValue(){return this.value;}public abstract String localValue();//把方法声明为抽象方法,调用时可以针对不同的数据返回不同的值}
四、枚举类的特性
1.枚举类也是一种特殊形式的Java类;
2.枚举类中声明的每一个枚举值代表枚举类的一个实例对象;
3.枚举类的构造函数必须是私有的;
4.枚举类可以实现接口、或继承抽象类;
5.若枚举类只有一个枚举值,则可以当作单例设计模式。
阅读全文
0 0
- Java学习笔记(反射+枚举类)
- Java-枚举类(学习笔记)
- java学习笔记-枚举类
- java枚举学习笔记
- Java学习笔记---枚举
- Java学习笔记-枚举
- 学习笔记:java枚举
- 疯狂Java之学习笔记(23)-----------枚举类
- java学习笔记之枚举类enum(转载)
- java学习笔记<十二>枚举类
- Java学习笔记之枚举类
- java之枚举类 Enum学习笔记
- java学习笔记之 --------枚举(enum)
- Java枚举学习笔记(一)
- java学习笔记(五)枚举
- Java学习笔记-枚举(enum)
- Java之学习笔记(30)------------枚举
- java学习笔记10--枚举
- iOS之UIFont字体设置
- spring4.x系列学习笔记(五)
- 浏览器缓存机制
- 第四章 Controller接口控制器详解(4)——跟着开涛学SpringMVC
- JS接收url上的参数
- Java-枚举类(学习笔记)
- 基于ssm的上传图片
- 机器学习中的交叉验证
- 第四章 Controller接口控制器详解(5)——跟着开涛学SpringMVC
- Thread对象锁使用
- mysql中存储过程小记一篇
- An error has occurred,See error log for more details 错误解决办法
- 下一代数据可视化分析系统的七个特征(一)
- 第四章 Controller接口控制器详解(6)——跟着开涛学SpringMVC