java枚举
编程技术  /  houtizong 发布于 3年前   60
/* * 普通的枚举类只是用来存储变量, * 由于枚举也是类,所以聚类类的相关特性, * 需要注意的是枚举类的构造方法为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;}}}
请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成
网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];
文章归档
文章标签
友情链接