java学习之枚举类

什么时候用到枚举类?-- 当取值是某个范围之一的时候,这时候可以使用枚举。

枚举怎么定义? -- 跟定义类一样,只是把class改成enum ,如 public enum Season{}

与java中的普通类一样,在声明枚举类时,也可以声明属性、方法和构造函数,但枚举类的构造函数必须为私有的
枚举值就相当于实例变量。

public enum Grade {
  A("A","90-100"),B("B","89-90"),C("C","79-80"),D("D","<60");//声明了属性
  private String tip;
  private String desc;
  private Grade(String tip,String desc){   //构造方法,私有
    this.tip = tip;
    this.desc = desc;
  }
  public String getTip() {
    return tip;
  }
  public String getDesc() {
    return desc;
  }
}



枚举类与普通一致,可以继承或实现,如果有抽像方法的话,可以利用每个枚举值以匿名内部类的方式去实现
public enum WeekDay {
  Mon{
    public void show() {
      System.out.println("星期1");
    }
  },Tue {
    public void show() {
      System.out.println("星期2");
    }
  },Wed {
    public void show() {
      System.out.println("星期3");
    }
  },Thu {
    public void show() {
      System.out.println("星期4");
    }
  };
  public abstract void show();
}

public class Demo {
  public static void main(String[] args) {
    WeekDay w = WeekDay.Thu; //不要new WeekDay
    w.show();
  }
}

上面的也可以用带属性的方法实现

public enum WeekDay {
  Mon("星期一"),Tue("星期二");
  private String tip;
  private WeekDay(String tip){
    this.tip = tip;
  }
  public String getTip() {
    return tip;
  }
}

public class Demo3 {
  public static void main(String[] args) {
    WeekDay w = WeekDay.Mon;
    System.out.println(w.getTip());
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值