`

枚举类:实现接口的枚举类

 
阅读更多
package org.lgy.study.enumstudy;

public interface GenderDesc{
	void info();
}

 

package org.lgy.study.enumstudy;

/*
枚举类也可以实现一个或多个接口,与普通类实现一个或多个接口完全一样。
枚举类实现一个或多个接口时,也需要实现该接口所包含的方法。
*/
public enum Gender implements GenderDesc{
	MALE("男"),FEMALE("女");
	
	private String sex;
	
	private Gender(String sex){
		this.sex = sex;
	}
	
	public void info(){
		System.out.println(this + "  " + sex);
	}
}

 

package org.lgy.study.enumstudy;

/*
如果由枚举类来实现接口里的方法,则每个枚举值在调用该方法时都有相同的行为方式(因为方法体是一样的)。
如果需要每个枚举值在调用该方法时呈现出不同的行为方式,则可以让每个枚举值分别来实现该方法,
每个枚举值提供不同的实现方式,从而让不同的枚举值调用该方法时具有不同的行为方式。
*/
public enum Gender implements GenderDesc{
	/*
	这种用法有点儿类似于匿名内部类,花括号部分实际上就是类体部分,我们也可以认为这是一个匿名内部类。
	这个匿名内部类实现了本来改由枚举类实现的抽象方法,所以我们又可以认为这个匿名内部类是原来枚举类的一个匿名子类。
	由于枚举类的实例默认使用public static final修饰,所以这个匿名类是一个静态的匿名类,
	也就不能在这个匿名类里使用外部类的非静态成员。
	
	在这种情况下,当创建MAEL、FEMALE枚举值时,并不是创建Gender枚举类的实例,
	而是相当于创建Gender的匿名子类的实例。
	*/
	MALE("男")
	{
		public void info(){
			System.out.println("MALE:");
			//System.out.println(this + "  " + sex);
		}
	},
	FEMALE("女")
	{
		public void info(){
			System.out.println("FEMALE:");
			//System.out.println(this + "  " + sex);
		}
	};
	
	private String sex;
	
	private Gender(String sex){
		this.sex = sex;
	}
	
	/*
	public void info(){
		System.out.println(this + "  " + sex);
	}
	*/
}

 

package org.lgy.study.main;

import org.lgy.study.enumstudy.*;

public class GenderMain{
	public static void main(String[] args){
		Gender g = Gender.MALE;
		g.info();
		g = Gender.FEMALE;
		g.info();
	}
}

 

分享到:
评论

相关推荐

    502.500.JAVA基础教程_枚举类与注解-使用enum关键字定义的枚举类实现接口(502).rar

    本教程将深入讲解如何使用`enum`关键字来定义枚举类,并探讨枚举类如何实现接口,以增强其功能。 首先,我们来看如何创建一个基本的枚举类。在Java中,枚举类的定义方式如下: ```java public enum Color { RED, ...

    枚举(switch、覆盖枚举、实现接口等)

    1. 定义枚举: 在Java中,枚举通过`enum`关键字定义,例如`public enum Color {RED, GREEN, BLANK, YELLOW}`。这不仅将相关常量分组,还可以在枚举类型中定义额外的方法和属性。 2. `switch`语句与枚举: 在JDK 1.6...

    深入理解 Java 枚举(枚举的方法+枚举的特性+枚举可以实现接口+组织枚举+策略枚举+枚举工具类等)

    3. 策略枚举:枚举可以用于定义策略,例如定义一个枚举 Strategy { ADD, REMOVE, UPDATE}。 组织枚举: 1. 枚举可以用于组织常量,例如定义一个枚举 Color { RED, GREEN, BLUE}。 2. 枚举可以用于组织状态,例如...

    enum枚举类的应用

    包含了关于枚举类的应用,以及枚举类和接口的组合应用,扩展映射关系。很有用的工具类。

    java枚举类用法

    9. **枚举的常量接口** 有时我们需要为枚举提供统一的行为,可以定义一个抽象方法,然后在每个枚举实例中实现: ```java enum Color { RED, GREEN, BLUE; abstract void display(); } Color.RED.display();...

    Java实现接口的枚举类示例

    Java实现接口的枚举类示例 在Java中,枚举类可以实现一个或多个接口,和普通类实现接口一样,枚举类也需要实现该接口所包含的方法。下面我们来详细介绍Java实现接口的枚举类示例。 首先,让我们来看一个简单的枚举...

    java枚举实例代码

    在这个例子中,`Species` 枚举实现了 `Animal` 接口,每个枚举实例都有自己的声音。 总结来说,Java枚举提供了一种安全、可读的方式来处理一组预定义的常量。通过枚举,我们可以避免硬编码常量,减少错误,提高代码...

    简单总结java枚举类型

    虽然枚举不能直接继承其他类,但它们默认继承了`java.lang.Enum`类,并且可以实现接口。这使得枚举具有更多的可扩展性。 5. 枚举遍历: 可以使用`values()`方法获取枚举类型的所有实例,形成一个数组,从而方便...

    enum枚举类的一些代码demo

    例如,我们可以创建一个实现了Comparable接口的WeekDay枚举: ```java public enum WeekDay implements Comparable<WeekDay> { // ... @Override public int compareTo(WeekDay other) { return this.day...

    Java枚举类接口实例原理解析

    在 Java 中,枚举类可以实现接口的方式与普通类相同。例如,下面是一个简单的示例代码: ```java public interface IGradeHandler { String getGrade(String studentName); } public enum GradeHandlerEnum ...

    Java中的“枚举类型

    - **自动实现Serializable接口**:枚举类默认实现了`Serializable`接口。 - **隐含字段和方法**:枚举类内部包含了`values()`和`valueOf()`等方法。 #### 五、总结 通过本文的讨论可以看出,尽管使用`static ...

    java 枚举类总结

    它不仅提供了一种更加安全且易于维护的方式来表示一组固定的选项,还支持自定义方法、实现接口等功能,极大地提高了程序的灵活性和可维护性。对于开发人员来说,熟练掌握枚举类型的使用方法是非常有帮助的。

    mybatis入门实战之枚举类型

    4. 使用枚举:在Mapper接口和XML映射文件中,可以直接使用枚举类型作为参数或返回值。例如: ```java public interface UserMapper { User selectUserByGender(Gender gender); } ``` ```xml SELECT * FROM ...

    实例181 - 遍历枚举接口的元素

    枚举类型可以继承接口,这使得它们能够实现特定的行为。 在Java中,遍历枚举接口的元素通常有以下几种方式: 1. 使用for-each循环: 这是最常用的方法,它简洁且易于理解。例如,如果有一个名为`MyEnum`的枚举类型...

    内部类和枚举类.rar

    3. **可添加方法**:枚举类可以包含自己的方法,甚至可以实现接口。 4. **安全**:枚举提供了一种安全的方式来表示有限的、预定义的值,防止了代码中出现未定义的枚举值。 ### 三、示例分析 - `demo8`可能是一个...

    517.515.JAVA基础教程_集合-复习:枚举类(517).rar

    枚举不是简单的常量集合,而是一个完整的类,可以拥有方法、构造函数、字段和实现接口。枚举类的定义语法如下: ```java public enum Color { RED, GREEN, BLUE } ``` 在这个例子中,`Color`是一个枚举类,包含了...

    计算机后端-Java-Java核心基础-第23章 枚举类与注解 08. 使用enum关键字定义的枚举类实现接口.avi

    计算机后端-Java-Java核心基础-第23章 枚举类与注解 08. 使用enum关键字定义的枚举类实

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

    枚举类自动继承了`java.lang.Enum`类,因此可以拥有方法和字段,也可以实现接口。 枚举的优势在于它们的类型安全性。当枚举用于表示有限的、预定义的选项时,编译器会检查所有枚举常量的引用,确保只有预先声明的...

    VC60串口枚举实例:设备管理器扫描方法、读取注册表方法、CreateFile方法

    在VC60中进行串口枚举是一项关键的系统编程任务,主要涉及到设备管理器的扫描、注册表的读取以及CreateFile函数的使用。...通过分析这些源代码,我们可以深入理解如何在VC60环境下实现串口枚举的完整流程。

    枚举 HashMap

    当然,这种实现方式也有其局限性,例如无法像枚举那样直接使用switch语句,但可以通过自定义`EnumItem`类的方法来实现类似的功能。总的来说,"枚举 HashMap"是一种实用的技巧,可以在某些场景下替代或补充Java的枚举...

Global site tag (gtag.js) - Google Analytics