zoukankan      html  css  js  c++  java
  • Java 枚举类

    实例有限且固定的类,叫做枚举类。比如季节只有“春”、“夏”、“秋”、“冬”。

    在早期,直接使用静态常量表示枚举:
    public static final String SPRING="春";
    public static final String SUMMER="夏";

    在Java5.0之中新增了一个枚举类:
    修饰符 enum 枚举类名{
    .......
    }
    枚举类是一种特殊的类,和类、接口一个级别。在枚举类中可以有成员变量、方法、构造器,也可以实现一个或多个接口。
    一个.java文件中,最多只能定义一个public(枚举)类。

    非抽象的枚举类自动使用final修饰,不能派生子类。
    枚举类的构造器只能使用private修饰。
    必须在枚举类的第一行显示列出该枚举类的所有实例。这些实例默认使用public static final修饰,无需显示指定。

    public enum SeasonEnum{
    //此枚举类的所有实例,以逗号分隔。默认使用public static final修饰
    SPRING,SUMMER,AUTUMN,WINTER;
    }
    public class Test{
      public void test(SeasonEnum enum){
        switch(enum){
        case SPRING:
          .......;
        case SUMMER:
          ........;
        case AUTUMN:
          .......;
        case WINTER:
          ........;

      }
    }

      public void main(String[] args){
      //枚举类.values() 获取该枚举类的所有实例,以数组形式返回。数据类型:枚举类[]
      for(SeasonEnum s:SeasonEnum.values()){
        //可通过 枚举类类名.实例名 访问枚举实例,值为该枚举实例变量的变量名
        System.out.println(SeasonEnum.s); //输出SPRING、SUMMER、AUTUMN、WINTER
      }
      System.out.println(SeasonEnum.SPRING); //输出SPRING
      }
    }

    public enum Gender{
      //有构造器时,枚举实例必须调用相应的构造器来创建。实例名为MAIL,FEMAIL
      MAIL("男"),FEMALE("女");
      //枚举类的成员变量通常不可改变,建议使用private final修饰
      private final String name; //这个成员变量是对枚举实例的说明
      //枚举类的构造器默认(也只能)使用private修饰
      private Gender(String name){
        this.name=name;
      }
      public String getName(){
        return this.name;
      }
      public void setName(String name){
        this.name=name;
      }
    }

    所有的枚举类都继承了Enum类,Enum常用的一个静态方法:
    Gender g=Enum.valueOf(Gender.class,"MAIL"); //获取指定的枚举实例,第一个参数指定枚举类,第二个参数指定实例名(String类型)。g的值为MAIL。
    也可以这样:
    Gender g=Gender.valueOf("MAIL"); //用具体的枚举类,不用指定枚举类的类名

    String str=g.getName(); //调用枚举实例的方法,"男"
    g.setName("xxx");

  • 相关阅读:
    背包问题
    基本TCP套接字编程
    P中值选址问题的整数规划求解
    Leapms + cplex解决 混合整数规划问题
    如何用整数规划求解NP完全问题
    用Leapms建摸 / 用 CPLEX 求解 旅行商问题 整数规划问题
    用线性规划建模(确定参数)关键路径法
    流水车间调度算法分析的简单+Leapms实践--混合整数规划的启发式建模
    Wolsey "强整数规划“ 建模的+Leapms实践——无产能批量问题
    Wolsey“强整数规划模型”经典案例之一单源固定费用网络流问题
  • 原文地址:https://www.cnblogs.com/chy18883701161/p/10852614.html
Copyright © 2011-2022 走看看