Java枚举类enum介绍

 更新时间:2015年04月14日 11:37:49   投稿:junjie  
这篇文章主要介绍了Java枚举类enum介绍,和其它普通类一样,enum同样可以有成员变量、方法、构造器,也可以实现一个或多个接口,需要的朋友可以参考下

枚举类enum是JDK1.5引入的,之前都是用public static final int enum_value来代替枚举类的。枚举类enum是一种特殊的类,它默认继承了类java.lang.Enum。和其它普通类一样,enum同样可以有成员变量、方法、构造器,也可以实现一个或多个接口,区别是:

1.如果有构造器,必须用private修饰。
2.枚举类不能派生子类。
3.枚举类所有的实例必须在第一行显示定义。系统会自动给这些实例加上public static final修饰,无须程序员显示定义。
4.枚举类默认提供了values()方法,方便遍历所有的枚举值

enum中的方法(Enum提供的方法):

public final int compareTo(E o) 比较相同类型的枚举值
public final int ordinal() 返回枚举的索引值,第一个枚举值从零开始。
public final String name() 返回枚举实例名称
public String toString() 返回枚举产量名称

交通灯实例

public enum TrafficLight {
  RED("红"), YELLOW("黄"), GREEN("绿");
  private String name;
  private TrafficLight(String name) {
    this.name = name;
  }
  public String getName() {
    return name;
  }
  public void jude(TrafficLight light) {
    switch (light) {
    case RED:
      System.out.println("stop");
      break;
    case YELLOW:
      System.out.println("go");
      break;
    case GREEN:
      System.out.println("wait");
      break;
    default:
      break;
    }
  }
  public static void main(String[] args) {
    for (TrafficLight e : TrafficLight.values()) {
      System.out.println(e.name());
    }
  }
}

相关文章

  • java实现微信支付(服务端)

    java实现微信支付(服务端)

    这篇文章主要介绍了java实现微信支付,针对服务端进行代码编写,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • 你不知道的 IDEA Debug调试小技巧(小结)

    你不知道的 IDEA Debug调试小技巧(小结)

    这篇文章主要介绍了你不知道的 IDEA Debug调试小技巧(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • Java实现SSL Socket长连接方式

    Java实现SSL Socket长连接方式

    这篇文章主要介绍了Java实现SSL Socket长连接方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • 总结Java中线程的状态及多线程的实现方式

    总结Java中线程的状态及多线程的实现方式

    Java中可以通过Thread类和Runnable接口来创建多个线程,线程拥有五种状态,下面我们就来简单总结Java中线程的状态及多线程的实现方式:
    2016-07-07
  • java+vue实现添加单选题、多选题到题库功能

    java+vue实现添加单选题、多选题到题库功能

    这篇文章主要为大家详细介绍了java+vue实现添加单选题、多选题到题库功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-04-04
  • java实现省市区转换成树形结构

    java实现省市区转换成树形结构

    这篇文章主要为大家详细介绍了java实现省市区转换成树形结构,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • 了解spring中的CloudNetflix Hystrix弹性客户端

    了解spring中的CloudNetflix Hystrix弹性客户端

    这篇文章主要介绍了了解spring中的CloudNetflix Hystrix弹性客户端,客户端弹性模式是在远程服务发生错误或表现不佳时保护远程资源(另一个微服务调用或者数据库查询)免于崩溃。,需要的朋友可以参考下
    2019-06-06
  • Druid连接池未关闭导致内存泄漏问题

    Druid连接池未关闭导致内存泄漏问题

    这篇文章主要介绍了Druid连接池未关闭导致内存泄漏问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • springboot获取微信JSDK签名信息的实现示例

    springboot获取微信JSDK签名信息的实现示例

    本文介绍了如何在Spring Boot应用中获取微信JSDK的签名信息,包括获取接口URL、参数设置、签名算法和获取签名结果的步骤,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • java 如何使用org.w3c.dom操作XML文件

    java 如何使用org.w3c.dom操作XML文件

    这篇文章主要介绍了java 如何使用org.w3c.dom操作XML文件,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08

最新评论