`

java-枚举示例

    博客分类:
  • java
阅读更多
package cd.itcast.day1;

/**
 * 声明了一个枚举类型,这个类型里面只有Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,
 * Sunday几个实例
 * 
 * @author Administrator
 * 
 */
public enum WeekDays { 

	/**
	 * 下面每一个定义的枚举实例,实际上都经过了这样一段代码: public static WeekDays Monday=new
	 * WeekDays("Monday",0);
	 * 
	 * Monday("Monday",0);
	 * 
	 * class Monday extends WeekDays{ public WeekDays next(){
	 * 
	 * } }
	 * 
	 */
	Monday("星期一") {
		public WeekDays next() {
			return Tuesday;
		}
	},
	Tuesday("星期二") {
		public WeekDays next() {
			return Wednesday;
		}
	},
	Wednesday("星期三") {
		public WeekDays next() {
			return Thursday;
		}
	},
	Thursday("星期四") {
		public WeekDays next() {
			return Friday;
		}
	},
	Friday("星期五") {
		public WeekDays next() {
			return Saturday;
		}
	},
	Saturday("星期六") {
		public WeekDays next() {
			return Sunday;
		}
	},
	Sunday("星期日");

	/**
	 * private WeekDays(){ super(name,ordinal); System.out.println("构造方法"); }
	 */
	// private WeekDays(){
	// System.out.println("构造方法。。");
	// }

	/**
	 * 继承方法
	 */
	public WeekDays next2() {
		/**
		 * 可以使用枚举参与switch,但是实际上,比较的仍然是下标
		 */
		switch (this) {
		case Monday:
			return WeekDays.Tuesday;
		case Tuesday:
			return WeekDays.Wednesday;
		case Wednesday:
			return WeekDays.Thursday;
		case Thursday:
			return WeekDays.Friday;
		case Friday:
			return WeekDays.Saturday;
		case Saturday:
			return WeekDays.Sunday;
		default:
			return WeekDays.Monday;
		}
		// switch (this.ordinal()) {
		// case 0:
		// return WeekDays.Tuesday;
		// case 1:
		// return WeekDays.Wednesday;
		// case 2:
		// return WeekDays.Thursday;
		// case 3:
		// return WeekDays.Friday;
		// case 4:
		// return WeekDays.Saturday;
		// case 5:
		// return WeekDays.Sunday;
		// default:
		// return WeekDays.Monday;
		// }
	}

	/**
	 * 为枚举增加构造方法
	 */
	private WeekDays(String chineseName) {
		this.chineseName = chineseName;
	}

	/**
	 * 给枚举类型增加了属性
	 */
	private String chineseName;

	public WeekDays next() {
		return Monday;
	}

	/**
	 * 给枚举类型增加了方法
	 */
	public String getChineseName() {
		return chineseName;
	}

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

}
分享到:
评论

相关推荐

    usb4java-javax-1.3.0.tar_usb4java包_usb4java1.3.0_usb4java版本_

    2. **全面的API**:USB4Java提供了一套完整的Java API,涵盖了USB设备的所有功能,包括枚举设备、打开和关闭设备、读写数据、管理配置和接口、处理中断和块传输等。 3. **事件驱动模型**:通过使用异步事件处理机制...

    计算机后端-Java-Java核心基础-第23章 枚举类与注解 11. Annotation的使用示例.avi

    计算机后端-Java-Java核心基础-第23章 枚举类与注解 11. Annotation的使用示例.avi

    java枚举实例代码

    下面是一个包含方法的枚举示例: ```java public enum DayOfWeek { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY; public boolean isWeekday() { return this != SATURDAY && this != ...

    Java软件开发实战 Java基础与案例开发详解 9-7 枚举 共10页.pdf

    枚举是Java 5中引入的一种新特性,它允许开发者定义一种特殊类型的类,用于表示一组固定的常量值。枚举类型提供了类型安全的方式,确保变量只能被赋值为预定义的一组值之一。 #### 二、枚举类的使用 1. **传统方法...

    java学习笔记(11) 第11 章 - 枚举和注解(csdn)————程序.pdf

    Java中的枚举(enum)和注解(Annotation)是两种重要的语言特性,它们在实际编程中有着广泛的应用。本章将深入探讨这两种概念,并通过示例来解释它们的使用。 11.1 需求分析 在创建季节(Season)对象时,我们发现...

    2021年JAVA枚举类型知识点.docx

    以下是关于Java枚举类型的详细知识点: 1. **枚举定义**: - 枚举类型通过`enum`关键字来定义,例如`public enum Color {RED, BLUE, BLACK, YELLOW, GREEN}`。 - 枚举实际上是`java.lang.Enum`类的子类,这意味着...

    appengine-java-sdk-1.5.0.1.zip_JDK1.5.0.1_appengine-java-s_appen

    这是Oracle公司发布的Java平台标准版(Java SE)的一个版本,提供了许多改进和新特性,如泛型、枚举、注解和增强的for循环等。"appengine-java-s"可能是“appengine-java-sdk”的简写,再次强调了SDK的主题。"java_...

    protobuf-java-3.10.0.zip

    8. `examples/`: 示例代码目录,提供了如何使用protobuf的示例项目。 protobuf的主要知识点包括: - **.proto文件**:protobuf的语法规则定义在.proto文件中,用于描述数据结构和消息类型。 - **数据类型**:...

    java 通过反射获取枚举类,及枚举类的值,枚举类枚举实例名

    枚举(Enumeration)是Java中的一个特殊类类型,用于定义一组常量。本项目"test-enum-demo-master"显然是一个用于演示如何通过反射来操作枚举类的示例。 首先,让我们理解枚举类的基本概念。枚举类在Java中用于定义...

    protobuf-java-3.0.0.tar.gz

    1. 定义数据结构:在.proto文件中使用protobuf语法定义数据结构,如消息类型、字段、枚举等。 2. 编译.proto文件:使用`protoc`编译器生成对应语言的源代码,如Java或C++。 3. 在代码中使用:导入生成的类,读写...

    Java手动方式创建枚举类示例

    Java枚举类型的应用场景: * 定义一组具有相同特征的常量 * 实现状态机和事件处理 * 实现配置和设置 Java枚举类型的注意事项: * 枚举类型的构造器应该是私有的 * 枚举类型的成员变量应该是final的 * 枚举类型的...

    5-枚举类型、输入输出、处理

    在C#或Java等语言中,枚举是一种特殊的类,包含了若干个命名的常量。例如,我们可以创建一个名为`Color`的枚举,其中包含`Red`、`Green`和`Blue`等成员。枚举的定义如下: ```csharp public enum Color { Red, ...

    protobuf-java-3.0.2.zip

    1. **数据定义**:通过.proto文件定义数据结构,包括消息类型、字段、枚举等。 2. **编译器**:protoc工具将.proto文件转化为目标语言的源代码,如Java、Python或C++。 3. **编码和解码**:protobuf库提供了高效的...

    说说Java中的枚举 转 可以了,够了 包括EnumSet(Map)

    这篇博客将深入探讨Java枚举的特性和使用方法,包括`EnumSet`和`EnumMap`这两个与枚举相关的数据结构。 首先,枚举定义的基本语法是`public enum EnumName {constant1, constant2, ...}`。每个枚举常量都是`...

    java72-java-advance.zip

    "java72-java-advance-master"这个文件名可能暗示了该压缩包包含了一个项目或者教程的主目录,其中可能包括源代码示例、文档、练习和讲解,帮助开发者深入理解Java 7的高级特性。通过学习这些资源,开发者可以提升其...

    EnumWindows-枚举桌面窗口

    在提供的压缩包文件`EnumWindows`中,可能包含了实现上述功能的示例代码或者工具,这可以帮助初学者理解如何利用`EnumWindows`函数进行窗口枚举,并实现特定的操作,如保存窗口为图片。学习这部分内容,不仅可以加深...

    列举java 枚举相关信息

    ### Java 枚举类型详解 #### 一、引言 ...通过以上的介绍,我们可以看到Java枚举类型不仅提供了类型安全的保障,还为开发者带来了极大的灵活性。合理地使用枚举类型,可以显著提高代码的质量和可维护性。

    corejava12示例代码

    《CoreJava12示例代码》是一份针对Java编程语言深度学习的重要资源,主要涵盖了CoreJava12版本中的核心概念和特性。这份压缩包文件包含了丰富的示例代码,旨在帮助开发者深入理解Java语言的各个方面,提升编程技能。...

    java-SE-demo Java学习资料 自习资料练习

    最后,Java SE还包含了网络编程、反射、枚举、注解等诸多内容。通过“java_se_demo-master”这个项目,你可能会接触到这些领域的基本用法,从而提高你的Java编程能力。 总的来说,这份“java-SE-demo”资料将带领你...

    java枚举,以及自己总结的两个示例.xmind

    如有侵权请联系删除,欢迎批评指正 java枚举,起初在网上抄了一部分,然后自己加了点示例,做一个记录,也算是为以后留个备份,技术小白一个,还在努力成长

Global site tag (gtag.js) - Google Analytics