Java学习(枚举)

本文介绍了Java中枚举的引入,对比了传统常量类与枚举的实现方式,强调了枚举的特殊性,如默认继承Enum类、不可多继承。通过示例展示了枚举如何定义属性和方法,以及如何在实际代码中使用。同时,枚举可以实现接口,提供更丰富的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在JDK 1.5之后,Java引入了枚举。在Java中枚举是一个特殊的类(默认继承了Enum类),一般用来表示一组常量。比如一年有四季(春夏秋冬)、一周有七天等。

public class Season {
    private Season() {
    }

    public static final Season SPRING = new Season();
    public static final Season SUMMER = new Season();
    public static final Season AUTUMN = new Season();
    public static final Season WINTER = new Season();
}

我们不使用枚举也可以完成相应的操作,将构造器设置成私有的,并在类的内部去创建好需要的实例对象以供外界获取。

使用枚举(Java中使用enum声明枚举):

public enum  Season {
    SPRING,SUMMER,AUTUMN,WINTER;
}

枚举的使用和普通全局常量一样:

public class Demo{
    public static void main(String[] args) throws Exception {
        System.out.println(Season.SPRING);
        System.out.println(Season.SUMMER);
        System.out.println(Season.AUTUMN);
        System.out.println(Season.WINTER);
    }
}

枚举类是一个特殊的类,也可以定义属性和方法:

public enum  Season {
    SPRING,SUMMER,AUTUMN,WINTER;

    @Override
    public String toString() {
        return super.toString();
    }

    public void test(){
        System.out.println("测试");
    }
}
public class Demo{
    public static void main(String[] args) throws Exception {
        System.out.println(Season.SPRING);
        System.out.println(Season.SUMMER);
        System.out.println(Season.AUTUMN);
        System.out.println(Season.WINTER);
        Season.SPRING.test();//测试
    }
}

枚举类也可以有属性:

public enum Season {
    SPRING("春天"),
    SUMMER("夏天"),
    AUTUMN("秋天"),
    WINTER("冬天");

    private String SeasonName;

    private Season(String seasonName) {
        SeasonName = seasonName;
    }

}

声明的几个常量必须放在最前面。

枚举也是类,可以实现一个或多个接口,可以声明属性方法,但是不能够继承别的类了,因为它默认继承了Enum类,而Java是不允许多继承的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值