Java基础:枚举

枚举使用enum关键字创建。所有枚举都继承自java.lang.Enum。

示例代码:

  1. enum Transport{   //声明一个枚举
  2.     CAR(65),                  //
  3.     TRUCK(55),
  4.     AIRPLANE(600),
  5.     TRAIN(70),
  6.     BOAT(22);
  7.  
  8.     private speed; //实例变量  ,保存速度
  9.     Transport(int s){speed=s;}//构造函数  传递速度
  10.     int getSpeed(){return speed;}//方法  获取速度
  11. }
  12. public class EnumDemo {
  13.     public EnumDemo() {
  14.   
  15.     }
  16.     public static void main(String[] args) {
  17.        
  18.         Transport tp;        //声明一个Transport的引用
  19.         tp=Transport.AIRPLANE;  //赋值
  20.         System.out.println("Value of tp:"+tp);
  21.         System.out.println();
  22.         
  23.         tp=Transport.TRAIN;
  24.         
  25.         if(tp==Transport.TRAIN) {
  26.             System.out.println("tp contains TRAIN.\n");
  27.         }
  28.         switch(tp) {      //枚举常量可以控制switch语句
  29.             case CAR:
  30.                 System.out.println("A car carries people.");
  31.                 break;
  32.             case TRUCK:
  33.                 System.out.println("A truck carries freight.");
  34.                 break;
  35.             case AIRPLANE:
  36.                 System.out.println("A airplane flies.");
  37.                 break;
  38.             case TRAIN:
  39.                 System.out.println("A train runs on rails.");
  40.                 break;
  41.             case BOAT:
  42.                 System.out.println("A boat sails on water.");
  43.                 break;
  44.         }
  45. --------------------------------------------------------------------------------------
  46. Values()和valueOf()方法:
  47.          Transport tp;
  48.         System.out.println("Here are all Transport constants");
  49.         
  50.         Transport[] allTransports=Transport.values();  //values()获取枚举常量列表
  51.         for(Transport t:allTransports) {
  52.             System.out.println(t);
  53.         }
  54.         System.out.println();
  55.         
  56.         tp=Transport.valueOf("AIRPLANE");   //valueOf()获取一个枚举常量
  57.         System.out.println("tp contains "+tp);
  58.     }
  59. }
  60. ------------------------------------------------------------------------------------
  61. 构造函数,方法,实例变量:
  62.         System.out.println(Transports.AIRPLANE.getSpeed()); //调用方法获取速度
  63.         
  64.         System.out.println("All speed in Transports");
  65.         for(Transports t:Transports.values()) {
  66.             System.out.println(t.getSpeed());
  67.             System.out.println(t+" "+t.ordinal());   //ordinal()获取顺序值
  68.         }
  69. -------------------------------------------------------------------------------------
  70.  

猜你喜欢

转载自blog.csdn.net/QQhelphelp/article/details/87987541