`
shinelith
  • 浏览: 8977 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

Java那点儿事——枚举

阅读更多
在Java5之后,枚举被加入到了Java中,但是有你是否知道到底枚举能干什么呢?
下面的例子
public class A{
	enum mode{ON,OFF};
	enum mode2{ON,OFF}
	// ......
}

这两句有和区别呢? 少了个分号么? 错了吧?
我要说确实少了一个分号,但是没有错,他是能通过编译的。怎么回事呢?
其实很多情况下这样的分号都可以在java 中出现比如

public class B{
    public class inner{
	};                                    //<--这里的分号
	
	static{
	};                                    //<--这里的分号
	
	enum enums{A,B,C};         //<--这里的分号
	
	public static void main(String[] args){
		for(enums e:enums.values()){
			System.out.println(e);
		};                  //<--这里的分号
	};                      //<--这里的分号
};                          //<--这里的分号


在java中{}表示语句块,那么在语句块后的分号,表示什么? 表示空语句啊!
如果你认为枚举就是上面这个用法,呵呵呵呵。那java就没必要加入这玩意儿了。

枚举是一种类,官方成之为"常量特定类体"(constant specific class body),枚举可以被实例化,也能在内部存在构造方法、实例变量和一般方法。
枚举可以被声明为成员,也可以被声明在一个单独的文件中,也可以声明在类外。但是枚举不能在方法中声明,这一点与类不用类(class)不同,class是可以在方法中声明的。还有就是永远也不能直接调用其构造函数。

public enum Phone{
    // 枚举成员的定义应为枚举的第1句;系统会自动调用构造方法。
    HERO("hero",2800),MILESTORE("milestore",2400),NEXUSONE("nexus_one",5100);
	
	private String name;                      //枚举中的实例变量
	private int price;
	
	Phone(String name,int price){         //枚举的构造方法  注意枚举的构造方法不能是public
		this.name = name;
		this.price = price;
	}

	public void print(){
		System.out.print("name"+name);
		System.out.println(" price"+price);
	}
}


public class Test{
	public static void printPhone(Phone p){    //枚举可以作为参数
		p.print();                                          //调用枚举中的方法
	}
	public static void main(String[] args){
		Phone phone = Phone.MILESTORE;       //枚举可以被实例化
		printPhone(phone);
	}
}


这还是枚举么?没错这就是Java5中所添加的枚举,而且枚举可以使用在for each循环中( 调用values()方法)。就简单说这么多了,再介绍一种用法,请自己去琢磨去吧。

enum CoffeeSize{
	BIG(8),HUGE(10),OVERWHELMING(16){
		public String getLidCode(){
			return "A";
		}
	};
	
	private int ounces;
	
	CoffeeSize(int o){
		ounces = o;
	}
	
	public int getOunces(){
		return ounces
	};
	public String getLidCode(){
		return "B";
	}
}
分享到:
评论

相关推荐

    Java期末复习——枚举与反射机制

    Java编程语言中,枚举和反射机制是两个重要的特性,它们在不同的场景下有着独特的用途。下面我们将详细探讨这两个主题。 一、枚举 枚举(Enum)在Java中用于定义一组固定数量的值,这些值可以作为常量使用。枚举...

    五大基础算法——枚举,算法数据结构

    五大基础算法——枚举,算法数据结构 枚举算法是五大基础算法之一,它是通过列举所有可能的解,然后对每个解进行判断,若符合要求则采纳这个解,不符合则抛弃。枚举算法通常用于解决无法使用其他算法解决的问题,...

    JDK5.0新特性(3)——枚举

    首先,枚举在Java 5之前,我们通常使用常量类来模拟枚举,但这种方式存在诸多问题,如容易导致命名冲突、无法自动排序和遍历等。枚举的引入解决了这些问题,它不仅提供了类型安全,还支持方法和变量,使得枚举对象...

    java 通过反射获取枚举类,及枚举类的值,枚举类枚举实例名

    枚举(Enumeration)是Java中的一个特殊类类型,用于定义一组常量。本项目"test-enum-demo-master"显然是一个用于演示如何通过反射来操作枚举类的示例。 首先,让我们理解枚举类的基本概念。枚举类在Java中用于定义...

    三年级——枚举法提高PPT学习教案.pptx

    枚举法是一种在解决问题时,通过尝试列举所有可能情况来找到正确答案的方法。在数学、计算机科学和逻辑推理中,枚举法常被用于解决组合问题、排列问题以及寻找特定解的问题。对于三年级的学生来说,掌握枚举法可以...

    JAVA高级编程中Enum枚举

    在Java编程语言中,`Enum`(枚举)是一种特殊的类类型,用于定义固定的、预定义的常量集合。它们在程序设计中扮演着重要的角色,特别是在需要表示一组固定值时,如状态、颜色、星期等。本资源包提供了一些关于`Enum`...

    Java SE程序 Enum枚举类

    Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类...

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

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

    Java编程基础教程:枚举与泛型的深入讲解

    内容概要:本文深入介绍了Java中的两个重要特性——枚举和泛型。首先详细讲述了枚举的基本概念、枚举类型的特点及其实现方式,如枚举的成员方法、构造器以及如何将其用于高级编程场合。其次对泛型的概念进行了解释,...

    Java目录直读:枚举文件夹下的所有文件.rar

    Java枚举目录下的所有文件,列出文件名,是一个Java目录直读程序的例子,代码中定义了一个showDirContent方法,该方法实现取得目录内容,用路径实例化一个文件对象,重点:取得目录内所有文件列表,实例化一个...

    java枚举实例代码

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

    java_扫雷游戏——java_扫雷游戏

    在本项目中,我们探讨的是一个使用Java编程语言实现的经典电脑游戏——扫雷。这个扫雷游戏是基于Java的基础语法和面向对象编程理念构建的,旨在帮助开发者熟悉和巩固Java编程技能,同时提供一个趣味性的实践平台。 ...

    数学广场——列表枚举.doc

    数学广场——列表枚举.doc

    Java高新技术_java5的枚举的基本应用

    Java高新技术——Java 5的枚举(Enum)基本应用 在Java编程语言中,枚举是一种特殊的类,用于定义一组预定义的常量。自从Java 5引入枚举类型以来,它已经成为处理固定集合常量的首选方式,因为它提供了比传统整数...

    java中枚举的使用

    在Java编程语言中,枚举(Enumeration)是一种特殊的类,用于定义一组固定的常量。它在JDK 1.5及以后的版本中被引入,为开发者提供了更安全、更面向对象的方式来处理常量集合。枚举在Java中的使用不仅提高了代码的...

    Java手动方式创建枚举类示例

    Java手动方式创建枚举类示例 Java手动方式创建枚举类是一种常见的编程方法,在Java中可以使用枚举类型来定义一组具有相同特征的常量。通过手动方式创建枚举类,可以更好地控制枚举类型的行为和特性。在本文中,我们...

    说说Java中的枚举 转 可以了,够了 包括EnumSet(Map)

    Java中的枚举是一种特殊的类,它提供了一种安全的方式来表示有限集合中的值。枚举类型在Java中被引入,主要用于解决常量集合并提供一种强类型的安全性,防止了无意间创建新的实例或修改枚举常量。这篇博客将深入探讨...

    Java枚举类型Enum的用法

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

    Java中的“枚举类型

    ### Java中的“枚举类型”知识点详解 #### 一、引言 在Java编程语言中,枚举(Enum)作为一种特殊的类,其设计初衷是为了更好地处理一组固定不变的常量集合。相较于传统的使用`static final`字段来表示常量的做法...

Global site tag (gtag.js) - Google Analytics