一篇文章让你三分钟学会Java枚举
程序员小哲 人气:0什么是枚举
至于枚举,我们先拿生活中的枚举来入手,然后再引申Java中的枚举,其实它们的意义很相似。
谈到生活中的枚举,假如我们在玩掷骰子的游戏,在我们手中有两个骰子,要求掷出两个骰子的点数和必须大于6的概率,那么在此情此景,我们就需要使用枚举法一一列举出骰子点数的所有可能,然后根据列举出来的可能,求出概率。
可能有的小伙伴发现,这就是数学啊?这就是数学中的概率学和统计学。对,我们的枚举法就是常用于概率统计中的。
枚举类enum是jdk1.5引入的,全称enumeration,和class、interface的地位一样,存在java.lang包中
使用步骤
我认为枚举的使用方法主要分为以下几步:
一:定义枚举类型
二:定义私有变量(私有变量的数量取决于枚举类型括号里面的参数数量)
三:重载构造方法
四:编写get/set方法
五:调用枚举类
创建枚举类
/** * 创建枚举对象 * 注意事项: * 一:定义枚举类型 * 二:定义私有变量(私有变量的数量取决于枚举类型括号里面的参数数量) * 三:重载构造方法 * 四:编写get/set方法 */ public enum MyEnumDemo { //一:定义枚举类型 HELLO("hello","1","haha1"), WORLD("world","2","haha2"), OTHER("other","3"); //二:定义私有变量(私有变量的数量取决于枚举类型括号里面的参数数量) private String demo1; private String demo2; private String demo3; //三:重载构造方法 MyEnumDemo(String demo1, String demo2) { this.demo1 = demo1; this.demo2 = demo2; } //三:重载构造方法 MyEnumDemo(String demo1, String demo2, String demo3) { this.demo1 = demo1; this.demo2 = demo2; this.demo3 = demo3; } //四:编写get/set方法 public String getDemo1() { return demo1; } public void setDemo1(String demo1) { this.demo1 = demo1; } public String getDemo2() { return demo2; } public void setDemo2(String demo2) { this.demo2 = demo2; } public String getDemo3() { return demo3; } public void setDemo3(String demo3) { this.demo3 = demo3; } }
测试枚举类
import org.junit.Test; public class Demo { @Test public void hah(){ System.out.println("--------------------------"); System.out.println(MyEnumDemo.HELLO); System.out.println(MyEnumDemo.HELLO.getDemo1()); System.out.println(MyEnumDemo.HELLO.getDemo2()); System.out.println(MyEnumDemo.HELLO.getDemo3()); System.out.println("--------------------------"); System.out.println(MyEnumDemo.WORLD); System.out.println(MyEnumDemo.WORLD.getDemo1()); System.out.println(MyEnumDemo.WORLD.getDemo2()); System.out.println(MyEnumDemo.WORLD.getDemo3()); System.out.println("--------------------------"); System.out.println(MyEnumDemo.OTHER); System.out.println(MyEnumDemo.OTHER.getDemo1()); System.out.println(MyEnumDemo.OTHER.getDemo2()); System.out.println(MyEnumDemo.OTHER.getDemo3()); System.out.println("--------------------------"); } }
输出结果
/**
* 输出结果:
* --------------------------
* HELLO
* hello
* 1
* haha1
* --------------------------
* WORLD
* world
* 2
* haha2
* --------------------------
* OTHER
* other
* 3
* null
* --------------------------
*/
加载全部内容