JAVA-枚举

枚举

  所有的枚举类都是enum的子类
  通过 枚举类名.枚举项目名称,去访问指定的枚举项
  每一个枚举项就是该枚举的一个对象
  枚举也是一个类,也可以定义成员变量
  枚举类的第一行必须是枚举项,最后一个枚举项后的分号可以省略,
    但是如果枚举类有其他的成员,则不能省略
  枚举类可以有构造方法,但必须是private修饰,默认也是private
    枚举项的用法比较特殊
  枚举类也可以有抽象方法,但是枚举项必须重写抽象方法
enum Seasonor {
    Spring("春天"){
        public  void show(){
            System.out.println(this.sea);
        }
    },
    Summer("夏天"){
        public  void show(){
            System.out.println(this.sea);
        }
    },
    Autumn("秋天"){
        public  void show(){
            System.out.println(this.sea);
        }
    },
    Winter("冬天"){
        public  void show(){
            System.out.println(this.sea);
        }
    };
    private int age;
    public String sea;
    private String address;
    //空参构造
   // private Seasonor() {
   // }
    //有参构造
    private Seasonor(String sea) {
        this.sea = sea;

    }
    //抽象方法
    public abstract void show();
}
public class EnumDemo{
    public static void main(String[] args) {
        //特点2
        System.out.println(Seasonor.Spring);
        System.out.println(Seasonor.Summer);
        System.out.println(Seasonor.Autumn);
        System.out.println(Seasonor.Winter);
        //特点3
        Seasonor spring = Seasonor.Spring;
        System.out.println(spring);
    }
}
public class EnumMethod {
    public static void main(String[] args) {
        //String name():获取枚举项目名称
        String name=Season.SPRING.name();
        System.out.println(name);
        //int ordinal():获取枚举项在枚举类中的索引值
        int i1=Season.SPRING.ordinal();
        int i2=Season.SUMMER.ordinal();
        int i3=Season.AUTUMN.ordinal();
        int i4=Season.WINTER.ordinal();
        System.out.println(i1);
        System.out.println(i2);
        System.out.println(i3);
        System.out.println(i4);
        //int compareTo(E o):比较两个枚举项,返回的是索引值的差值
        int i = Season.SPRING.compareTo(Season.WINTER);
        System.out.println(i);
        //String toString():获取枚举常量名称
        String s = Season.SPRING.toString();//为了防止返回地址值
        System.out.println(s);
        //static <T> T valueOf(Class<T> type,String name):获取指定枚举类中的指定名称的枚举值
        Season season = Enum.valueOf(Season.class, "AUTUMN");
        System.out.println(season);
        System.out.println(Season.AUTUMN);
        System.out.println(season==Season.AUTUMN);
        //values:获取所有枚举项
        Season[] values = Season.values();
        for (Season value : values) {
            System.out.println(value);
        }
    }
}
enum Season {
    SPRING,SUMMER,AUTUMN,WINTER;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值