枚举使用enum关键字创建。所有枚举都继承自java.lang.Enum。
示例代码:
- enum Transport{ //声明一个枚举
- CAR(65), //
- TRUCK(55),
- AIRPLANE(600),
- TRAIN(70),
- BOAT(22);
- private speed; //实例变量 ,保存速度
- Transport(int s){speed=s;}//构造函数 传递速度
- int getSpeed(){return speed;}//方法 获取速度
- }
- public class EnumDemo {
- public EnumDemo() {
- }
- public static void main(String[] args) {
- Transport tp; //声明一个Transport的引用
- tp=Transport.AIRPLANE; //赋值
- System.out.println("Value of tp:"+tp);
- System.out.println();
- tp=Transport.TRAIN;
- if(tp==Transport.TRAIN) {
- System.out.println("tp contains TRAIN.\n");
- }
- switch(tp) { //枚举常量可以控制switch语句
- case CAR:
- System.out.println("A car carries people.");
- break;
- case TRUCK:
- System.out.println("A truck carries freight.");
- break;
- case AIRPLANE:
- System.out.println("A airplane flies.");
- break;
- case TRAIN:
- System.out.println("A train runs on rails.");
- break;
- case BOAT:
- System.out.println("A boat sails on water.");
- break;
- }
- --------------------------------------------------------------------------------------
- Values()和valueOf()方法:
- Transport tp;
- System.out.println("Here are all Transport constants");
- Transport[] allTransports=Transport.values(); //values()获取枚举常量列表
- for(Transport t:allTransports) {
- System.out.println(t);
- }
- System.out.println();
- tp=Transport.valueOf("AIRPLANE"); //valueOf()获取一个枚举常量
- System.out.println("tp contains "+tp);
- }
- }
- ------------------------------------------------------------------------------------
- 构造函数,方法,实例变量:
- System.out.println(Transports.AIRPLANE.getSpeed()); //调用方法获取速度
- System.out.println("All speed in Transports");
- for(Transports t:Transports.values()) {
- System.out.println(t.getSpeed());
- System.out.println(t+" "+t.ordinal()); //ordinal()获取顺序值
- }
- -------------------------------------------------------------------------------------