测试1:
测试2:
package enumeration;
/*枚举特点:
1. 枚举enum是一个特殊的Java类。它继承自java.lang.Enum,继承了非常多Enum的方法。但枚举类是一个不能够被继承的final类
2. 枚举类能够定义在interface或class中。当然枚举类型中有构造函数、方法、数据域.
枚举类中的够早期和普通类的构造器有些不同:
(a). 构造器仅仅是在构造枚举值的时候被调用
(b). 构造器仅仅能私有,这样能够保证外部代码无法新构建枚举类的实例
全部枚举类继承了Enum的方法,以下是这些方法使用介绍:
(a). ordinal() 返回枚举值在枚举种类的顺序,这个顺序依据枚举值声明的顺序
(b). compareTo() Enum实现了java.lang.Comparable接口。它返回的是两个枚举值的顺序之差,但这两个枚举值必须属于同一个枚举类
(c). values 返回一个包括所有枚举值的数组
(d). toString 返回枚举常量的名称
(e). valueOf 类似toString
(f). equals 比較两个枚举类对象的应用*/
public enum Color1 {
RED(1,"红色"),
GREEN(2,"绿色"),
BLUE(3,"蓝色");
private int code;
private String name;
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
Color1(int code,String name) {
this.code=code;
this.name=name;
}
//在枚举列类中定义一个自定义方法,但如果要想能够被外面访问,需要定义成static类型。
public static void test(){
Color1[] colors = Color1.values();
for (Color1 c : colors) {
System.out.println(c);
System.out.println(c.name());
System.out.println(c.getCode()+" : "+c.getName());
System.out.println("---------------");
}
}
}
测试结果:
switch 测试:
package enumeration;
public class Test {
public static void main(String[] args) {
Color c= Color.BLUE;
// System.out.println(c);
switch(c){
case RED:
System.out.println("it's red");
break;
case GREEN:
System.out.println("it's green");
break;
case BLUE:
System.out.println("it's bule");
break;
}
// Color1.test();
}
}
测试结果: