首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java枚举部类-学习初

2012-12-21 
java枚举类型-学习初枚举类型是JDK5.0的新特征。Sun引进了一个全新的关键字enum来定义一个枚举类。下面就是

java枚举类型-学习初
枚举类型是JDK5.0的新特征。Sun引进了一个全新的关键字enum来定义一个枚举类。下面就是一个典型枚举类型的定义:

 public enum Color{    RED,BLUE,BLACK,YELLOW,GREEN }

显然,enum很像特殊的class,实际上enum声明定义的类型就是一个类,而且是类库中Enum类的子类(java.lang.Enum<E>)。
1、Color枚举类是特殊的class,其枚举值(RED,BLUE...)是Color的类对象(类实例):Color c=Color.RED;而且这些枚举值都是public static final的,也就是我们经常所定义的常量方式,因此枚举类中的枚举值最好全部大写。2、即然枚举类是class,当然在枚举类型中有构造器,方法和数据域。但是,枚举类的构造器有很大的不同:(1) 构造器只是在构造枚举值的时候被调用。(2) 构造器只能私有private,绝对不允许有public构造器。这样可以保证外部代码无法新构造枚举类的实例。这也是完全符合情理的,因为我们知道枚举值是public static final的常量而已。 但枚举类的方法和数据域可以允许外部访问。

下面是我自己写的例子:
public class Test{public static void main(String[] args) throws Exception{Test.outputWeekDay(WeekDay.Monday);}public static void outputWeekDay(WeekDay w){System.out.println(w);}}enum WeekDay{Monday(1),Tuesday(2),Wednesday(3);private int weekValue;private WeekDay(int weekValue){this.weekValue = weekValue;}@Overridepublic String toString(){// TODO Auto-generated method stubreturn String.valueOf(this.weekValue);}}

热点排行