zoukankan      html  css  js  c++  java
  • java之enum枚举(2015年05月28日)

    背景:
    今天启动了一个新的项目,由于要从之前的旧项目中拿过来一些代码,所以就看了下公司之前项目代码,发现有定义的常量类,也有枚举类,然后就在想着两者的功能差不多,那他们之间到底有什么区别呢,所以就决定了解下enum枚举
     
    一、简介
    Java 中的枚举类型采用关键字enum 来定义,从jdk1.5才有的新类型,所有的枚举类型都是继承自Enum 类型。
     
    二、基本用法
    1.作为常量使用
    一个完整的枚举类型示例
    /**
     * 枚举
     * @author Dreyer
     * @since 1.0
     * @date 2015-5-28 下午8:16:31
     */
    public enum EnumDemo1 {
     Small(1),
     Medium(2),
     Larger(3);
     
     private int code;
     
     private EnumDemo1 (int code) {
      this.code = code;
     }
     
     //作用相对于下面的toString()方法
     public int getCode () {
      return this.code;
     }
     
     @Override
     public String toString() {
      return String.valueOf(this.code);
     }
     
    }
     
    2.可以用于switch()语句
    EnumDemo1 size = EnumDemo1.Small;
     
     public void printInfo() {
      switch (size) {
      case Small:
       System.out.println("the size is small");
       break;
      case Medium:
       System.out.println("the size is medium");
       break;
      case Larger:
       System.out.println("the size is large");
       break;
      }
     }
     
     
    注意点:
    1.枚举类型的构造函数只能是private或者默认的修饰符
    2.所有的枚举值都是public static final修饰的,如同我们定义的常量一样
    3.枚举中可以定义普通方法
    4.枚举还能实现接口
     
    三、Enum和enum的区别
    Enum表示一个类,它里面封装了一下方法用于对枚举的基本操作
    enum表示一个变量类型,是一种数据类型,它用来定义枚举
     
     
    四、enum和常量的区别
    待更新...
     
     
    五、附加姿势
    因为看公司定义的常量类都是一个class,然后就public static final...
    在网上看到接口常量类觉得更不错,因为它是一个接口,所以里面的变量默认就是public static final修饰的
     
  • 相关阅读:
    vue-cli
    使用git push命令如何忽略不想提交的文件夹或者文件
    Ajax实现的城市二级联动三
    Ajax实现的城市二级联动二
    Ajax实现的城市二级联动一
    DOM之城市二级联动
    如何把SVG小图片转换为 html字体图表
    vue权威指南笔记01——样式的设置
    2018年前端年末小结
    Array常用方法总结
  • 原文地址:https://www.cnblogs.com/Dreyer/p/4537341.html
Copyright © 2011-2022 走看看