java enum 外部调用_Java enum枚举的使用方法

本文介绍了Java枚举类型。JDK1.5前用public static final定义常量,之后可将相关常量分组到枚举类。枚举是特殊Java类,继承自java.lang.Enum,不能被继承。它可定义在interface或class中,构造器有特殊要求,还介绍了其方法及在switch中的使用。

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

一. 出现背景:

在JDK1.5之前,我们定义常量是这种:public static final String RED = “RED”;

在JDK1.5中增加了枚举类型,我们能够把相关的常量分组到一个枚举类中:

public enum Color {

RED, GREEN, BLUE;

}

使用的时候能够这样:Color c = Color.RED

二. 枚举特点:

1. 枚举enum是一个特殊的Java类。它继承自java.lang.Enum,继承了非常多Enum的方法。但枚举类是一个不能够被继承的final类

2. 枚举类能够定义在interface或class中。当然枚举类型中有构造函数、方法、数据域:

public interface MyConstants {

enum Color {

RED("RED", 1), GREEN("GREEN", 2), BLUE("BLUE", 3);

String desc;

Integer value;

private Color(String desc, Integer value) {

this.desc = desc;

this.value = value;

}

}

enum Light {

RED, GREEN, YELLOW;

}

}

使用:MyConstants.Color.RED

3. 枚举类中的够早期和普通类的构造器有些不同:

(a). 构造器仅仅是在构造枚举值的时候被调用

(b). 构造器仅仅能私有,这样能够保证外部代码无法新构建枚举类的实例

4. 全部枚举类继承了Enum的方法,以下是这些方法使用介绍:

(a). ordinal()  返回枚举值在枚举种类的顺序,这个顺序依据枚举值声明的顺序

(b). compareTo()  Enum实现了java.lang.Comparable接口。它返回的是两个枚举值的顺序之差,但这两个枚举值必须属于同一个枚举类

(c). values   返回一个包括所有枚举值的数组

(d). toString  返回枚举常量的名称

(e). valueOf  类似toString

(f). equals   比較两个枚举类对象的应用

5. 在switch中使用:

public enum Light{

RED, GREEN, YELLOW;

}

class Test {

public static void main(String[] args) {

Light light = Light.RED;

switch (light) {

case RED:

System.out.println("it's red");

break;

case GREEN:

System.out.println("it's green");

break;

case YELLOW:

System.out.println("it's yellow");

break;

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值