java的枚举

模拟一个枚举类:

//枚举类对象只能该类规定的几个值,这个值不是普通基本值而是对象值。每一个枚举值都是一个对象

public abstract class WeekDay {
 private WeekDay(){};

//用了匿名内部类,用抽象方法定义NextDay 将大量的else if 语句转移成一个个独立类
 public final static WeekDay SUN = new WeekDay(){
  @Override
  public WeekDay nextDay() {
   return MON;
  }
 };
 public final static WeekDay MON =new WeekDay(){
  @Override
  public WeekDay nextDay() {
   return SUN;
  }
  
 }
 ;
 public abstract WeekDay nextDay();
  
 public String toString(){
  return this == SUN ? "SUN":"MON";
 }
}
定义一个基本的枚举类

public enum weekDay{

   //(1)表示调用哪个构造方法
  SUN(1),MON,TUE,WED,THI,FRI,STR;
   //所有方法必须在参数下面,构造方法必须是私有

   private weekDay(){}
  private weekDay(int day){
   
  }
 }

定义一个枚举的抽象方法

public enum TrafficLamp{
  RED(10){
   @Override
   public TrafficLamp nextLamp() {
    return GREEN;
   }
  },GREEN(45){
   @Override
   public TrafficLamp nextLamp() {
    return YELLOW;
   }
  },YELLOW(5){
   @Override
   public TrafficLamp nextLamp() {
    return RED;
   }
  };
  public abstract TrafficLamp nextLamp();
  private int time;
  private TrafficLamp(int time){
   this.time=time;
  }
 }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值