Java枚举类enum

枚举类enum

示例代码

enum Color{
RED,BLUE,YELLOW;
}

enum 和 class、interface 的地位一样
枚举(enum)类型是 Java 5 新增的特性,它是一种新的类型,允许用常量来表示特定的数据片断,而且全部都以类型安全(类型安全的代码不会试图访问自己没被授权的内存区域)的形式来表示。

使用 enum 定义的枚举类默认继承了 java.lang.Enum,而不是继承 Object 类。枚举类可以实现一个或多个接口。

枚举类的所有实例都必须放在第一行展示,不需使用 new 关键字,不需显式调用构造器。自动添加 public static final 修饰。

使用 enum 定义、非抽象的枚举类默认使用 final 修饰,不可以被继承。

枚举类的构造器只能是私有的。

示例代码

enum Color{
RED,BLUE,YELLOW;
Color(){
    System.out.println("this is enum constructor");
}
}

class testClass{
public testClass(){
    System.out.println("this is common class");
}
}

public class testEnum {
public static void main(String args[]){
    System.out.println(Color.RED);
}
}

执行结果:
this is enum constructor
this is enum constructor
this is enum constructor
RED

示例代码

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 修饰。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值