JDK1.5,全新的类型的“类”-枚举类型新引入的的关键字enum,它继承自java.lang.Enum类型,每个枚举成员实际是该枚举类型的一个实例(instance),他们都被预设成final,所以你无法改变,他们也是static所以可以通过类名访问,并且他们都是public的。枚举都实现了Comparable接口,所以可以用compareTo(E o)比较对象
注意public enum Color{ Red, White, Blue/*这里可以不用分号*/}
public enum Color
{
Red, White, Blue;/*这里必须用分号*/
public staitc void main(String[] args)
{
Color myColor = Color.Red;
System.ou.println(myColor);
}
}
使用 Color myColor = Color.red;
枚举类型提供了两个有用的静态方法values()和valueOf()
for(Color c : Color.values())
{
System.out.println(c);}
valueOf()方法,将括号里的字符串尝试转化为枚举类型
String s="Blue";
Color c= Color.valueOf(s);
枚举可以声明构造方法
public enum Coin {
penny(1),nikel(5),dime(10),quarter(25);
private int value;
public int getValue()
{
return value;
}
Coin(int value)
{
this.value=value;
}
public static void main(String[] args)
{
Coin coin= Coin.quarter;
System.out.println(coin.getValue());
}
}
java中静态代码块会先于够造方法执行,在第一次实例化时切仅这次执行一次