`
ccr1988
  • 浏览: 35313 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java枚举

阅读更多
枚举的出现主要是为了解决变量过度循环问题。
下面将通过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枚举实例代码

    Java枚举(enum)是Java语言中的一种特殊数据类型,用于定义一组有限的常量,这些常量在程序中作为固定的值使用。枚举在Java中被引入,目的是为了更好地管理和使用常量,提高代码的可读性和安全性。在本实例代码中,...

    Java枚举类型Enum的用法

    Java枚举类型(Enum)是Java SE 5.0引入的一种新的数据类型,它为开发者提供了更为强大且安全的方式来表示一组常量。枚举在Java中不仅是一个类,还是一种特殊的类型,允许我们定义自己的常量集合。接下来,我们将...

    java枚举类型说明

    ### Java枚举类型详解 #### 一、引言 在Java编程语言中,枚举(Enum)作为一种重要的数据类型,在程序设计中扮演着不可或缺的角色。本文将深入探讨Java枚举类型的特性和用法,并通过具体实例说明其优势所在。枚举...

    简单总结java枚举类型

    Java枚举类型是Java语言中一种特殊的类,用于定义固定的常量集合,它提供了一种安全、类型化的方式来表示一组有限的值。枚举在Java中被引入为一个完整的类型,不同于C++中的枚举,这使得Java枚举更加强大且易于使用...

    java枚举状态机

    Java枚举(Enum)状态机是一种使用枚举类型来实现状态转换逻辑的编程技术,它在Java编程中被广泛应用于管理对象的状态变化。状态机是一种模型,用于描述一个系统或对象在不同时间点可能存在的状态以及如何从一个状态...

    java枚举结果类、根据状态值获取枚举值

    java枚举结果类、根据状态值获取枚举值 Controller: /** 模块类型枚举 */ model.addAttribute("mType", ModuleTypeEnum.ModuleTypeShow()); ftl: value="${mType.key}:${mType.value}” </#list>

    java枚举类用法

    Java枚举类型(enum)是Java语言中一种特殊的类,用于定义一组固定的常量。它在许多场景下作为替代常量或单例模式的选择,提供了更安全、更易读的代码。下面我们将深入探讨Java枚举类的用法及其优势。 1. **枚举的...

    高阶Java-Java枚举类型 enum 应用详解

    本篇文章将深入探讨Java枚举的特性、用法以及如何在实际开发中充分利用它们。 一、枚举的基本用法 1. 声明枚举类型: ```java public enum Color { RED, GREEN, BLUE } ``` 在这里,`Color`是枚举类型,`RED`, `...

    理解java枚举类型

    Java枚举类型是Java语言中的一种特殊的类,用于定义一组固定的常量集合。它在Java中扮演着重要的角色,提供了一种安全、类型化的常量表示方式,比传统的final static变量更具有优势。理解Java枚举类型对于编写高质量...

    列举java 枚举相关信息

    ### Java 枚举类型详解 #### 一、引言 ...通过以上的介绍,我们可以看到Java枚举类型不仅提供了类型安全的保障,还为开发者带来了极大的灵活性。合理地使用枚举类型,可以显著提高代码的质量和可维护性。

    Java枚举类型.pdf

    在本文中,我们将深入探讨Java枚举的定义、使用方法以及它如何改善传统使用`static final`常量的模式。 首先,让我们看看传统的`static final`常量表示枚举的方式。例如,清单1展示了如何使用`public static final`...

    java枚举的一个实例

    Java枚举是编程语言Java中的一个特色特性,它在类、接口和变量的定义中扮演着特殊的角色。枚举在Java中被用作一种数据类型,用于定义一组固定的常量,这些常量可以代表特定的值或状态。通过枚举,我们可以确保变量...

    如何使用Java枚举类型

    一个关于JAVA枚举类型的MHT文件,包含JAVA枚举类型的用法,以及JDK版本的问题。

    java枚举ppt和详细代码

    Java枚举是面向对象编程中的一个重要特性,它用于定义固定的常量集合,这些常量通常代表某种特定的数据类型。在Java中,枚举提供了一种更安全、更规范的方式来处理常量,相比于传统的final static变量,枚举具有更多...

    Java枚举与设计模式

    本文详尽地论述了Java枚举与设计模式的关系

    java枚举,以及自己总结的两个示例.xmind

    如有侵权请联系删除,欢迎批评指正 java枚举,起初在网上抄了一部分,然后自己加了点示例,做一个记录,也算是为以后留个备份,技术小白一个,还在努力成长

    java枚举类的属性、方法和构造方法应用实战

    Java 枚举类的属性、方法和构造方法应用实战 Java 枚举类是一种特殊的类,它拥有自己的属性、方法和构造方法。本文将详细介绍 Java 枚举类的属性、方法和构造方法应用实战,结合实例形式分析了 Java 枚举类的定义、...

    JAVA枚举类型的用法详解

    下面我们将深入探讨Java枚举类型的常见用法。 首先,枚举类型在本质上等同于定义了一组静态常量。创建枚举类型的语法如下: ```java public enum Belle { para1, para2, para3, para4; } ``` 这会创建一个名为`...

    深入理解 Java 枚举(枚举的方法+枚举的特性+枚举可以实现接口+组织枚举+策略枚举+枚举工具类等)

    深入理解 Java 枚举 Java 枚举是 Java 语言中的一种特殊类型,自 JDK 5 开始引入,使用 enum 关键字修饰。在 Java 中,枚举是一种受限制的类,具有自己的方法。枚举的本质是 java.lang.Enum 的子类,它提供了一些...

    全面掌握java枚举类型(enum-type)1

    全面掌握 Java 枚举类型(enum type) Java 枚举类型是一种特殊的数据类型,它可以取有限个数的明确值。枚举类型的引入解决了 int 枚举模式和 String 枚举模式的缺点,提供了类型安全性、可读性和性能等优势。 ...

Global site tag (gtag.js) - Google Analytics