Java枚举类的简单学习(了解)

先看一个简单的枚举类。
package enumcase;
public enum SeasonEnum {
    SPRING,SUMMER,FALL,WINTER;
}
1.enumclassinterface的地位一样
2.使用enum定义的枚举类默认继承了java.lang.Enum,而不是继承Object类。枚举类可以实现一个或多个接口。
3.枚举类的所有实例都必须放在第一行展示,不需使用new 关键字,不需显式调用构造器。自动添加public static final修饰。
4.使用enum定义、非抽象的枚举类默认使用final修饰,不可以被继承。
5.枚举类的构造器只能是私有的。
 枚举类内也可以定义属性和方法,可是是静态的和非静态的。
6.枚举类不能定义在main函数中。

复制代码
package enumcase;
public enum SeasonEnum {
    SPRING("春天"),SUMMER("夏天"),FALL("秋天"),WINTER("冬天");  
    private final String name;
    private SeasonEnum(String name)
    {
        this.name = name;
    }
    public String getName() {
        return name;
    }
}
复制代码
    实际上在第一行写枚举类实例的时候,默认是调用了构造器的,所以此处需要传入参数,因为没有显式申明无参构造器,只能调用有参数的
构造器。
  构造器需定义成私有的,这样就不能在别处申明此类的对象了。枚举类通常应该设计成不可变类,它的Field不应该被改变,这样会更安全,
而且代码更加简洁。所以我们将Field用private final修饰。

猜你喜欢

转载自blog.csdn.net/ACMerdsb/article/details/85253512