JAVA中枚举类详解

   在JAVA中,所定义的枚举类应该首先定义一个或几个枚举常量,这些枚举常量就是对枚举类的实例化。在枚举类中,虽然定义的不是 static 方法,但可以直接通过枚举常量调用方法,而不需要使用 new 关键字创建对象,这是因为枚举常量本身就是枚举类的实例。在枚举类被加载时,这些实例就已经被创建并初始化好了,它们在程序运行期间是固定存在且唯一的,所以可以直接使用枚举常量来调用其非静态方法。

    所以这就是为什么要在首先定义枚举常量了,通过枚举常量我们才能访问枚举类中所定义的一些变量或方法。

    如果我们定义了有参构造方法,枚举常量也应该传递相应的参数。

    综上所述,每一个枚举常量就相当于枚举类的一个实例,不同的枚举常量通过传递不同的参数调同一个方法输出相同格式的结果。

   示例代码

public enum HttpStatus {

//定义了一个实例

    OK(200, "Success");

    private int code;

    private String message;

 

    HttpStatus(int code, String message) {

        this.code = code;

        this.message = message;

    }

    public int getCode() {

        return code;

    }

    public String getMessage() {

        return message;

    }

    public void printInfo() {

        System.out.println(code + ": " + message);

    }

}

class Main {

    public static void main(String[] args) {

        HttpStatus.OK.printInfo(); // 输出 "200: Success"

        int code = HttpStatus.OK.getCode();

        System.out.println("Code: " + code);

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值