带构造函数的枚举类型

仿照《Java编程思想》593页程序写的,希望对原书的理解有所帮助。

 

  1. public enum ShiLi{
  2.       ONE(1),
  3.       TWO(2),
  4.       THREE(3);
  5.      //可以把ShiLi理解成一个类
  6.      //而ONE(1)就是这个类的一个实例
  7.      //因此,我们现在有3个这样的实例
  8.       private int i;
  9.       private ShiLi(int i){this.i=i;}
  10.       //这是类的构造函数
  11.       public String toString(){return name()+"的参数="+i;}
  12.       //name()获取实例的名字
  13.       public static void main(String[] args){
  14.           for(ShiLi MouGe:values()){
  15.            System.out.println(MouGe.i);}
  16.          //values()是编译器添加的static方法,用来获取实例
  17.          //MouGe.i这种加点访问变量看上去就很熟悉了
  18.          //就是类的实例的用法
  19.          for(ShiLi MouGe:values()){
  20.            System.out.println(MouGe.name());}
  21.          for(ShiLi MouGe:values()){
  22.            System.out.println(MouGe);}
  23.       }
  24. }

你可能感兴趣的:(带构造函数的枚举类型)