自定义枚举类

枚举(Enum)类型是 java 5 中新增的一种数据类型,它能够帮助我们更加快捷和安全的实现枚举。

下面是在此之前我们在定义枚举常量时的做法,这样的定义方式虽然也能正常工作,但却存在许多不足,比如不小心把 RED和 GREEN 都置为 2 时,编译器并不会报错,但是却很难进行排查,在这里提及呢主要是为了我们更好的理解枚举。

 

使用简单类完成枚举操作

public class TestSeason {

    public static void main(String[] args) {

Season spring = Season.SPRING;

System.out.println(spring);//默认调用spring.toString()方法

System.out.println(spring.getSeasonName());

spring.show();

     }

扫描二维码关注公众号,回复: 2596681 查看本文章

}

class Season{

//4.在类体内创建枚举类对象 public static final

public static final Season SPRING = new Season("SPRING","春天");

public static final Season SUMMER = new Season("SUMMER","夏天");

public static final Season AUTUMN = new Season("AUTUMN","秋天");

public static final Season WINTER = new Season("WINTER","冬天");

//1.提供类的属性,并声明为private final

private final String seasonName;

private final String seasonDesc;

//2.将声明为private final的属性在私有化的构造器中初始化

private Season(String seasonName, String seasonDesc){

        this.seasonName = seasonName;

        this.seasonDesc = seasonDesc;

}

//3.通过公共的方法来调用私有属性

public String getSeasonName() {

        return seasonName;

}

public String getSeasonDesc() {

        return seasonDesc;

}

@Override

public String toString() {

        return "Season [seasonName=" + seasonName + ", seasonDesc="

                + seasonDesc + "]";

}

public void show(){

        System.out.println("这是一个季节!");

}

}

 

使用接口表示一组范围

public class TestColor {

     public static void main(String[] args) {

System.out.println(Color.RED + Color.GREEN);

     }

}

interface Color{

public static final int RED = 1;

public static final int GREEN = 2;

public static final int BLUE = 3;

}

猜你喜欢

转载自blog.csdn.net/lxxiang1/article/details/81293636