1 . 定义
Java枚举类型是一系列
具有名称的常量
,Java枚举类型为类 类型
。
2 . 实例
定义枚举类(使用
enum
关键字)
public enum ProgrammingLanguage {
Java, Python, Html, Javascrpt;
}
因为Java枚举类型为类类型,所以可以为其指定构造方法和属性
/**
* @class Fruits
* @description ... Java 枚举类型是类 类型,类可以拥有构造函数,因此枚举也不例外。
* 很重要一点,每一个枚举的常量都是枚举这个类型的一个对象,如下面的Apple是Fruits的一个
* 对象,所以枚举指定构造方法时,枚举常量也必须使用该构造方法,关于如何使用参照Demo
* @date 2016年10月18日 上午12:00:27
*/
public enum Fruits {
Apple(1.1), Watermalon(2.2), Banana(3.3), Orange(4.4);
private Double price;
Fruits(Double price) {
this.price = price;
}
public Double getPrice() {
return this.price;
}
}
3 . 使用
public class EnumTest {
public static void main(String[] args) {
ProgrammingLanguage pl;
pl = ProgrammingLanguage.Html;
switch (pl) {
case Html:
System.out.println("Html programming language!");
break;
case Java:
System.out.println("Java programming language!");
break;
case Python:
System.out.println("Python programming language!");
break;
default:
break;
}
;
// 枚举的valueOf()方法,返回枚举常量
System.out.println(ProgrammingLanguage.valueOf("Python"));
// 枚举的values()方法,返回枚举数组
for (ProgrammingLanguage a : ProgrammingLanguage.values())
System.out.println("Current Value:\t" + a);
//使用自定义构造方法的枚举类
Fruits fruit;
fruit = Fruits.Apple;
System.out.println("Current Fruit Is:\t" + fruit);
System.out.println("Current Fruit Price is:\t" + fruit.getPrice());
}
}
程序运行结果
Html programming language!
Python
Current Value: Java
Current Value: Python
Current Value: Html
Current Value: Javascrpt
Current Fruit Is: Apple
Current Fruit Price is: 1.1