Java实现接口的枚举类示例

 更新时间:2019年08月27日 08:49:57   作者:cakincqm  
这篇文章主要介绍了Java实现接口的枚举类,结合实例形式分析了java接口的枚举类相关原理与使用技巧,需要的朋友可以参考下

本文实例讲述了Java实现接口的枚举类。分享给大家供大家参考,具体如下:

一 点睛

枚举类也可以实现一个或多个接口。与普通类实现一个或多个接口完全一样,枚举类实现一个或多个接口时,也需要实现该接口所包含的方法。

如果需要每个枚举值在调用同一个方法时呈现出不同的行为方式,则可以让每个枚举值分别来实现该方法,每个枚举值提供不同的实现方式,从而让不同枚举值调用同一个方法时具有不同的行为方式。

二 实战

1 代码

GenderDesc.java

public interface GenderDesc
{
  void info();
}

Gender.java

public enum Gender implements GenderDesc
{
  // 此处的枚举值必须调用对应构造器来创建
  MALE("男")
  // 花括号部分实际上是一个类体部分,这部分代码的语法匿名内部类语法大致一样。
  {
   public void info()
   {
     System.out.println("这个枚举值代表男性");
   }
  },
  FEMALE("女")
  {
   public void info()
   {
     System.out.println("这个枚举值代表女性");
   }
  };
  private final String name;
  // 枚举类的构造器只能使用private修饰
  private Gender(String name)
  {
   this.name = name;
  }
  public String getName()
  {
   return this.name;
  }
  // 增加下面的info()方法,实现GenderDesc接口必须实现的方法
  public void info()
  {
   System.out.println(
     "这是一个用于用于定义性别的枚举类");
  }
  public static void main(String[] args)
  {
   Gender f = Gender.valueOf("FEMALE");
   Gender m = Gender.valueOf("MALE");
   f.info();
   m.info();
  }
}

 

2 运行

这个枚举值代表女性
这个枚举值代表男性

更多java相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总

希望本文所述对大家java程序设计有所帮助。

相关文章

  • Java自旋锁及自旋的好处详解

    Java自旋锁及自旋的好处详解

    这篇文章主要介绍了Java自旋锁及自旋的好处详解,自旋就是自己在这里不停地循环,直到目标达成,而不像普通的锁那样,如果获取不到锁就进入阻塞,需要的朋友可以参考下
    2023-10-10
  • Java详细讲解包的作用以及修饰符的介绍

    Java详细讲解包的作用以及修饰符的介绍

    本文主要讲述的是包的使用和注意事项和四种访问修饰符public,protected,默认的,private的访问范围及实例,感兴趣的朋友一起来看看
    2022-05-05
  • SpringMVC的源码解析

    SpringMVC的源码解析

    本文主要介绍了SpringMVC的源码解析。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • JAVA根据ip地址获取归属地的实现方法

    JAVA根据ip地址获取归属地的实现方法

    本文主要介绍了JAVA根据ip地址获取归属地的实现方法,要通过Java程序获取IP地址对应的城市,需要借助第三方的IP地址库,下面就来介绍一下,感兴趣的可以了解一下
    2023-10-10
  • Mybatis-Plus时间范围查询方式详解

    Mybatis-Plus时间范围查询方式详解

    这篇文章主要介绍了Mybatis-Plus时间范围查询方式详解,通过两种方式结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-09-09
  • MyBatis-Plus自动化填充的踩坑记录及解决

    MyBatis-Plus自动化填充的踩坑记录及解决

    这篇文章主要介绍了MyBatis-Plus自动化填充的踩坑记录及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • 如何将java -jar启动的服务设置为systemd服务管理方式

    如何将java -jar启动的服务设置为systemd服务管理方式

    本文详细介绍了如何将Java应用程序配置为由systemd管理的服务,包括创建和配置.service文件的步骤,以及如何启动、停止和查看服务状态
    2025-01-01
  • SpringBoot之QueryDsl嵌套子查询问题

    SpringBoot之QueryDsl嵌套子查询问题

    这篇文章主要介绍了SpringBoot之QueryDsl嵌套子查询问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • Spring Cloud OpenFeign模版化客户端搭建过程

    Spring Cloud OpenFeign模版化客户端搭建过程

    OpenFeign是一个显示声明式的WebService客户端。使用OpenFeign能让编写Web Service客户端更加简单,这篇文章主要介绍了Spring Cloud OpenFeign模版化客户端,需要的朋友可以参考下
    2022-06-06
  • Java中支持可变参数详解

    Java中支持可变参数详解

    那个可变参数的就是个数组,你传多少个参数都被放到那个数组里面。这样方便了程序员,因为如果不确定要传的参数的个数的话,我们要写带1个参数的,带2个参数,带3个参数的,这样很麻烦。 该进后的这个方法,我们只要写一个函数就好,可以传任意个参数。
    2015-05-05

最新评论