JDK1.5摆列典范学习[Java编程]
本文“JDK1.5摆列典范学习[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
Enum作为Sun全新引进的一个关键字,看起来很象是特别的class, 它也可以有自己的变量,可以定义自己的办法,可以实现一个大概多个接口. 当我们在声明一个enum范例时,我们应当注意到enum范例有以下的一些特点.
1.它不能有public的构造函数,这样做可以保证客户代码没有办法新建一个enum的实例.
2.全部列举值都是public , static , final的.注意这一点只是针关于列举值,我们可以和在普通类里面定义 变量一样定义别的任何范例的非列举变量,这些变量可以用任何你想用的修饰符.
3.Enum默许实现了java.lang.Comparable接口.
4.Enum覆载了了toString办法,因此我们假如调用Color.Blue.toString()默许返回字符串”Blue”.
5.Enum供应了一个valueOf办法,这个办法和toString办法是相对应的.调用valueOf(“Blue”)将返回Color.Blue.因此我们在自己重写toString办法的时刻就要注意到这一点,一把来说应当相对应地重写valueOf办法.
6.Enum还供应了values办法,这个办法使你可以便利的遍历全部的列举值.
7.Enum还有一个oridinal的办法,这个办法返回列举值在列举类种的次序,这个次序按照列举值声明的次序而定,这里Color.Red.ordinal()返回0.
理解了这些基本特点,我们来看看若何利用它们.
1.遍历全部有列举值. 知道了有values办法,我们可以轻车熟路地用ForEach循环来遍历了列举值了.
for (Color c: Color.values())
System.out.println(“find value:” + c);
2.在enum中定义办法和变量,比方我们可认为Color增添一个办法随机返回一个颜色.
public enum Color {
Red,
Green,
Blue;
/*
*定义一个变量表示列举值的数目.
*(我有点奇特为什么sun没有给enum直接供应一个size办法).
*/
private static int number = Color.values().length ;
/**
* 随机返回一个列举值
@return a random enum value.
*/
public static Color getRandomColor(){
long random = System.currentTimeMillis() % number;
switch ((int) random){
case 0:
return Color.Red;
case 1:
return Color.Green;
case 2:
return Color.Blue;
default : return Color.Red;
}
}
}
可以看出这在列举范例里定义变量和办法和在普通类里面定义办法和变量没有什么辨别.唯一要注意的只是变量和办法定义必须放在全部列举值定义的背面,不然编译器会给出一个错误.
以上是“JDK1.5摆列典范学习[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |