当前位置:首页 > 开发 > 编程语言 > Java > 正文

java枚举

发表于: 2013-10-31   作者:ccr1988   来源:转载   浏览次数:
摘要: 枚举的出现主要是为了解决变量过度循环问题。 下面将通过2个枚举类AnimalOne,AnimalTwo来详细说明其用法: 下面代码主要是3个类,其实AnimalOne和AnimalTwo为枚举类,AnimalEnumTest为测试类,演示了日常工作所出现的情况。 /* * 普通的枚举类只是用来存储变量, * 由于枚举也是类,所以聚类类的相关特性, * 需要注意的是枚举类的
枚举的出现主要是为了解决变量过度循环问题。
下面将通过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;
	}

	@Override
	public String toString() {
		
		return index+":"+name;
	}


/*
 * 实现带有抽象方法的枚举
 * 由于类型是anum所以必须要实现抽象方法
 */
public enum AnimalTwo{
	
	cat {
		@Override
		public String getColor() {
			
			return "red";
		}
	},dog {
		@Override
		public String getColor() {
			
			return "green";
		}
	},mouse {
		@Override
		public 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枚举

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
枚举是限定有限可能值的一种手段,使用枚举可以降低程序出错的几率,并可以提高代码的可读性与可维
在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素
1. 当你创建一个enum类时,编译器会为你生成一个相关的类,这个类继承自Enum /** * 枚举类默认继承
Java核心 --- 枚举 枚举把显示的变量与逻辑的数字绑定在一起 在编译的时候,就会发现数据不合法 也
成鹏致远 | lcw.cnblog.com |2014-02-04 JAVA类集 1.认识类集 类集的作用 类集实际上就是一个动态的
在JDK1.5之前,JAVA可以有两种方式定义新类型:类和接口,对于大部分面向对象编程,有这两种似乎就
接下来本章的重点来了,就是枚举; 枚举是什么? Java中的枚举是一种特殊的类,不但可以添加字段,
枚举的特点: ◆类型安全(Type Safety) ◆紧凑有效的枚举数值定义(Compact, Efficient Declaratio
今天给大家介绍一个JDK1.5的新特性:枚举类 先来看看以下的例子: package enumdemo; public enum Week
转自 〖 作者:中华风筝 〗http://www.java3z.com 在实际编程中,往往存在着这样的“数据集”,它们
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号