在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编程语言中,枚举和反射机制是两个重要的特性,它们在不同的场景下有着独特的用途。下面我们将详细探讨这两个主题。 一、枚举 枚举(Enum)在Java中用于定义一组固定数量的值,这些值可以作为常量使用。枚举...
五大基础算法——枚举,算法数据结构 枚举算法是五大基础算法之一,它是通过列举所有可能的解,然后对每个解进行判断,若符合要求则采纳这个解,不符合则抛弃。枚举算法通常用于解决无法使用其他算法解决的问题,...
首先,枚举在Java 5之前,我们通常使用常量类来模拟枚举,但这种方式存在诸多问题,如容易导致命名冲突、无法自动排序和遍历等。枚举的引入解决了这些问题,它不仅提供了类型安全,还支持方法和变量,使得枚举对象...
枚举(Enumeration)是Java中的一个特殊类类型,用于定义一组常量。本项目"test-enum-demo-master"显然是一个用于演示如何通过反射来操作枚举类的示例。 首先,让我们理解枚举类的基本概念。枚举类在Java中用于定义...
枚举法是一种在解决问题时,通过尝试列举所有可能情况来找到正确答案的方法。在数学、计算机科学和逻辑推理中,枚举法常被用于解决组合问题、排列问题以及寻找特定解的问题。对于三年级的学生来说,掌握枚举法可以...
在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枚举结果类、根据状态值获取枚举值 Controller: /** 模块类型枚举 */ model.addAttribute("mType", ModuleTypeEnum.ModuleTypeShow()); ftl: value="${mType.key}:${mType.value}” </#list>
内容概要:本文深入介绍了Java中的两个重要特性——枚举和泛型。首先详细讲述了枚举的基本概念、枚举类型的特点及其实现方式,如枚举的成员方法、构造器以及如何将其用于高级编程场合。其次对泛型的概念进行了解释,...
Java枚举目录下的所有文件,列出文件名,是一个Java目录直读程序的例子,代码中定义了一个showDirContent方法,该方法实现取得目录内容,用路径实例化一个文件对象,重点:取得目录内所有文件列表,实例化一个...
Java枚举(enum)是Java语言中的一种特殊数据类型,用于定义一组有限的常量,这些常量在程序中作为固定的值使用。枚举在Java中被引入,目的是为了更好地管理和使用常量,提高代码的可读性和安全性。在本实例代码中,...
在本项目中,我们探讨的是一个使用Java编程语言实现的经典电脑游戏——扫雷。这个扫雷游戏是基于Java的基础语法和面向对象编程理念构建的,旨在帮助开发者熟悉和巩固Java编程技能,同时提供一个趣味性的实践平台。 ...
数学广场——列表枚举.doc
Java高新技术——Java 5的枚举(Enum)基本应用 在Java编程语言中,枚举是一种特殊的类,用于定义一组预定义的常量。自从Java 5引入枚举类型以来,它已经成为处理固定集合常量的首选方式,因为它提供了比传统整数...
Java中的枚举是一种特殊的类,它提供了一种安全的方式来表示有限集合中的值。枚举类型在Java中被引入,主要用于解决常量集合并提供一种强类型的安全性,防止了无意间创建新的实例或修改枚举常量。这篇博客将深入探讨...
在Java编程语言中,枚举(Enumeration)是一种特殊的类,用于定义一组固定的常量。它在JDK 1.5及以后的版本中被引入,为开发者提供了更安全、更面向对象的方式来处理常量集合。枚举在Java中的使用不仅提高了代码的...
Java手动方式创建枚举类示例 Java手动方式创建枚举类是一种常见的编程方法,在Java中可以使用枚举类型来定义一组具有相同特征的常量。通过手动方式创建枚举类,可以更好地控制枚举类型的行为和特性。在本文中,我们...
Java枚举类型(Enum)是Java SE 5.0引入的一种新的数据类型,它为开发者提供了更为强大且安全的方式来表示一组常量。枚举在Java中不仅是一个类,还是一种特殊的类型,允许我们定义自己的常量集合。接下来,我们将...
### Java中的“枚举类型”知识点详解 #### 一、引言 在Java编程语言中,枚举(Enum)作为一种特殊的类,其设计初衷是为了更好地处理一组固定不变的常量集合。相较于传统的使用`static final`字段来表示常量的做法...