java 通用enum传参_Java枚举类也就这么回事

本文探讨了Java中的枚举类,包括它的起源、特点和使用规则。枚举类通过`enum`关键字定义,具有固定数量的实例,并且默认继承`java.lang.Enum`。枚举类提供了`name()`、`toString()`和`ordinal()`等方法。重点解析了编译器自动添加的`values()`方法,该方法返回枚举实例的数组,方便与集合类配合使用。最后,通过反编译枚举类文件,揭示了枚举实例的创建过程和构造器的工作原理。
摘要由CSDN通过智能技术生成

9993184f2ef523d548d7e30c1911beb7.gif

目录

1、前言 2、源自一道面试题 3、枚举的由来 4、枚举的定义形式 5、Enum类里有啥?

6、反编译枚举类

来源: cnblogs.com/summerday152/p/12347079.html

1、前言 本篇博客是对 JDK1.5的新特性枚举的一波小小的总结,主要是昨天在看一部分面试题的时候,遇到了枚举类型的题目,发现自己有许多细节还需要加强,做起来都模棱两可,是时候总结一波了。2、源自一道面试题 不多bb,直接开门见山,我遇到这样一道也许很简单的题目:
enum AccountType{
        SAVING, FIXED, CURRENT;    private AccountType(){
            System.out.println(“It is a account type”);    }}class EnumOne{
        public static void main(String[]args){
            System.out.println(AccountType.FIXED);    }}
问打印的结果是啥?正确答案如下:
It is a account typeIt is a account typeIt is a account typeFIXED
至于结果为啥是这个,且看我慢慢总结。3、枚举的由来

存在即合理。

我贼喜欢这句圣经,每次我一解释不了它为什么出现的时候,就不自觉地用上这句话。

枚举一定有他存在的价值,在一些时候,我们需要定义一个类,这个类中的对象是有限且固定的,比如我们一年有四个季节,春夏秋冬。

在枚举被支持之前,我们该如何定义这个Season类呢?可能会像下面这样:

public class Season {
        //private修饰构造器,无法随意创建对象    private Season(){}    //final修饰提供的对象在类外不能改变    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();}

在定义上,这个Season类可以完成我们的预期,它们各自代表一个实例,且不能被改变,外部也不能随便创建实例。

但&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值