黑马程序员_Java基础加强2

---------------------- Android、Java开发期待与您交流! ----------------------


枚举

有时候,变量的取值只在一个有限的集合内。例如:一周只有七天周日到周六;交通等的三种颜色,红、黄、绿。这样就可以自定义枚举类型。枚举类型包括优先个命名的值。

例如:enum TrafficLamp{RED,GREEN,YELLOW};

然后可以声明这一种类型的变量:

         TrafficLamp  trafficLamp = TrafficLamp.GREEN;

TrafficLamp类型的变量只能存储这个类型声明中给定的某个枚举值,或者null值,null表示这个变量没有设置任何值

所有枚举类型都是java.lang.Enum的子类,常用的方法有:

    String toString():返回枚举常量名

    static Enum valueOf(Class enumType,String name):返回带指定名称的指定枚举的常量

    int ordinal():返回枚举常量的位置,从零开始计数

注意:

          枚举只有一个成员时,就可以做为一种单例的实现方式
          枚举中的构造方法、变量、成员方法必须置于枚举常量的下方,构造方法只能为私有或默认类型

public class EnumTest{
     public static void main(String[] args){
      WeekDay1 weekday1 = WeekDay1.SUN;
	  System.out.println(weekday1.nextDay());
	  WeekDay weekday2 = WeekDay.SUN;
	  System.out.println("weekday2:"+weekday2);
	  System.out.println(weekday2.name());
	  System.out.println(weekday2.ordinal());
	  System.out.println(WeekDay.valueOf("FRI").toString());
	  System.out.println(WeekDay.values().length);
	  }
}
abstract class WeekDay1{
private WeekDay1(){}
     public static final WeekDay1 SUN = new WeekDay1(){
         public WeekDay1 nextDay(){
		    return MON;
			}
          };
     public static final WeekDay1 MON = new WeekDay1(){
	         public WeekDay1 nextDay(){
		      return SUN;
			}
          };
     public abstract WeekDay1 nextDay();
	public String toString(){
	 return this==SUN?"SUN":"MON";
	}
}
 enum WeekDay{
     SUN(1),MON(2),TUE(),WED,THU,FRI,SAT;
     private WeekDay(){}
     private WeekDay(int day){}
}


---------------------- Android、Java开发期待与您交流! ----------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值