Java的enum简单介绍

本文介绍了Java中的枚举类型(Enum)及其使用方法。通过两个示例对比展示了如何定义枚举,并为枚举项添加属性与方法以实现更多功能。

Enum 是一种枚举类型,一般用于代表一组常用常量,可用来代表一类相同类型的常量值。

一个最简单的Enum类如下:

public enum WeekDay2 {
	Mon(),
	Tue(),
	Wed(),
	Thu(),
	Fri(),
	Sat(),
	Sun();
	
	private WeekDay2() {}
}

一般来说,对应JAVA Enum是一个很特殊的类,它的每一个声明的类型都是一个类,而且每一个都是对应Enum的类。如上面的代码,Mon其实就是WeekDay2类。所以我们可以适当增加方法来实现我们要的操作。

public enum WeekDay {
	Mon("Monday"),
	Tue("Tuesday"),
	Wed("Wednesday"),
	Thu("Thursday"),
	Fri("Friday"),
	Sat("Saturday"),
	Sun("Sunday");
	
	private final String day;
	 
	private WeekDay(String day) {
	     this.day = day;
	}
	
	public String getDay() {
	     return day;
	}
}
上面代码是比WeekDay2中多了自己的属性和方法,到时候我们就可以直接获取得到。
public class WeekTest {
	
	public static void main(String[] args) {
		System.out.println(WeekDay2.Fri);
		System.out.println(WeekDay.Fri.getDay());
	}

}
最后结果:


### Java 枚举类型的用法与实例 枚举类型(`enum`)是在 Java 5 中引入的一种特殊的数据类型,用于定义一组固定的常量集合。所有的枚举类都隐式继承自 `java.lang.Enum` 类[^1]。 #### 定义简单的枚举 下面是一个基本的枚举定义示例: ```java public enum Day { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY; } ``` 可以通过以下方式访问这些枚举值: ```java Day day = Day.MONDAY; System.out.println(day); // 输出:MONDAY ``` #### 使用构造函数和方法扩展枚举功能 可以为枚举添加字段、构造器以及方法来增强其功能性。例如: ```java public enum Planet { MERCURY(3.30E23), VENUS(4.87E24); private final double mass; Planet(double mass) { this.mass = mass; } public double getMass() { return mass; } } Planet planet = Planet.MERCURY; System.out.println("Mercury's mass: " + planet.getMass()); // 输出:Mercury's mass: 3.3E23 ``` #### 枚举中的抽象方法实现 还可以让枚举实现接口或者声明抽象方法并由各个枚举项具体化其实现逻辑: ```java public enum Operation { PLUS { @Override public int apply(int x, int y) { return x + y; } }, MINUS { @Override public int apply(int x, int y) { return x - y; } }; abstract public int apply(int x, int y); } Operation op = Operation.PLUS; int result = op.apply(10, 5); // 结果为 15 System.out.println(result); ``` 由于枚举已经继承了 `java.lang.Enum`,因此它不能再显式地去继承其他父类。 #### 注解的应用场景 在某些情况下可能需要标记某个 API 已过时,在此之前版本中我们通常会使用 `@Deprecated` 这样的注解来进行标注[^2]。对于现代开发环境而言,则推荐配合 Javadoc 提供更详细的说明文档以便开发者理解为何该部分被废弃以及替代方案是什么等内容。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值