六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 41|回复: 0

JDK5.0新特性之枚举 Enums

[复制链接]

升级  80%

12

主题

12

主题

12

主题

童生

Rank: 1

积分
40
 楼主| 发表于 2013-1-27 04:56:26 | 显示全部楼层 |阅读模式
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中静态代码块会先于够造方法执行,在第一次实例化时切仅这次执行一次
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表