java枚举

编程技术  /  houtizong 发布于 3年前   60
枚举的出现主要是为了解决变量过度循环问题。
下面将通过2个枚举类AnimalOne,AnimalTwo来详细说明其用法:
下面代码主要是3个类,其实AnimalOne和AnimalTwo为枚举类,AnimalEnumTest为测试类,演示了日常工作所出现的情况。
/* * 普通的枚举类只是用来存储变量, * 由于枚举也是类,所以聚类类的相关特性, * 需要注意的是枚举类的构造方法为private, * 在添加非变量时候,最后一个变量后面需要放分号且变量在类的最上面。 */public enum AnimalOne {    cat("jiafei",1),    dog("toni",2),    mouse("miki",3);         // 成员变量    private String name;    private int index;        //构造函数只能是private    private AnimalOne(String name ,int index){    this.name=name;    this.index=index;    }    /*     *  根据index获取name,由于构造函数是private的,所以无法通过引用访问,     *  可以适当的 设置成static来直接访问,否则只能通过传递     */    public static String getAnimalNameByIndex(int index){    //遍历枚举       for(AnimalOne a:AnimalOne.values()){     if(a.getIndex()==index){     return a.getName();     }    }    return null;    }    //get set 方法    public String getName() {return name;}public void setName(String name) {this.name = name;}public int getIndex() {return index;}public void setIndex(int index) {this.index = index;}@Overridepublic String toString() {return index+":"+name;}

/* * 实现带有抽象方法的枚举 * 由于类型是anum所以必须要实现抽象方法 */public enum AnimalTwo{cat {@Overridepublic String getColor() {return "red";}},dog {@Overridepublic String getColor() {return "green";}},mouse {@Overridepublic String getColor() {return "yellow";}};  public abstract String getColor();  }

/* * Animal test */public class AnimalEnumTest {public static void main(String[] args) {AnimalEnumTest t=new AnimalEnumTest();t.checkAnimalOne(AnimalOne.dog);//测试Animal内部方法System.out.println("--Animal one--总共:"+AnimalOne.values().length+"个");System.out.println("--Animal one--"+AnimalOne.getAnimalNameByIndex(2));      System.out.println("--Animal two--"+AnimalTwo.cat.getColor());}    //最常用的方式public void checkAnimalOne(AnimalOne a){switch(a){case cat:System.out.println("cat~~miaomiao~~");break;  case dog:System.out.println("dog~~wangwang~~");    break;case mouse:System.out.println("mouse~~jiji~~");    break;}}}
上一篇:java位运算
下一篇:jboss配置JNDI

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

留言需要登陆哦

技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成

网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];

      订阅博客周刊 去订阅

文章归档

文章标签

友情链接

Auther ·HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群 也可以扫右边的二维码
侯体宗的博客