Java枚举类型是JDK1.5之后新增的
引入原因:
之前使用常量类
public static final String SESSAON_SPRING=1;
- 这样使用类型不安全
- 没有命名空间
- 打印输出时意义不明确
枚举类型特点:
- 继承自java.lang.Enum 所以不能再继承别的类 但是可以实现多个接口
- Enum实现了serializable comparable接口
- 枚举的构造器只能是private的
- 枚举所有实例必须在第一行列出
- 枚举成员变量一般与构造器配合使用
- 可以用于switch 语句 可直接用枚举实例 不用枚举类型.枚举实例方式
- ordinal()返回声明的序号 从0开始 name()方法返回实例名称
示例
package com.mark.learn.enu;
/**
* Created by Mark on 2017/8/9.
*/
public enum EnumTest {
MARK("mark",17),TOM("tomcat",2);
private final String name;
private final Integer age;
private EnumTest(String name,Integer age){
this.name=name;
this.age=age;
}
public String getName(){
return name;
}
public Integer getAge(){
return age;
}
@Override
public String toString() {
return super.toString();
}
}
package com.mark.learn.enu;
/**
* Created by Mark on 2017/8/9.
*/
public class TestMain {
public static void main(String[] args) {
EnumTest tomcat =EnumTest.TOM;
System.out.println(tomcat.getName());
System.out.println(tomcat.getAge());
}
}
结果:
tomcat
2