| 关于枚举永远不能直接调用过一个枚举构造函数.
 可以为构造函数定义多个参数,并且可以重载枚举构造函数,就像可以重载一个正常的类构造函数一样.
 枚举指定了一个常量值列表,它们可以赋予某个特殊类型.
 枚举不是String或int;枚举常量的类型是枚举类型.
 枚举可在类外部或内部声明,但不能在方法中声明.
 声明在类外部的枚举不能被标识为static\fianl\abstract\protected\private.
 枚举可以包含构造函数\方法\变量和常量类体.
 枚举常量可以使用语法BIG(8)把参数传递给枚举构造函数,其中把int型字面值8传递给枚举构造函数.
 枚举构造函数可以带有参数,并且可以重载.
 永远不能直接在代码中调用枚举构造函数.它们总是在初始化枚举时自动调用的.
 枚举声明的末尾可以选择加分号.
 
 public class TestEnum {public static void main(String[] args) {
 AllColor ac = AllColor.Red;
 AllColor[] acs =AllColor.values();
 ac.setName("red");
 System.out.println(ac.getName());
 System.out.println(ac.getClass());
 ac.test();
 //ac.test1();//只能调用ENUM里的方法,如果是抽象方法,必学实现后才能调用。
 }
 }
 enum AllColor {// Red,Green,Blue;
 Red("a") {//是AllColor的实现类
 public void test() {
 System.out.println("red");
 }
 public void test1() {
 System.out.println("red1");
 }
 },
 Green("a") {
 public void test() {
 System.out.println("Green");
 }
 },
 Blue("a") {// 是AllColor的实现类,这里的类会调用匹配的构造器,如果没有匹配的构造器就会报错。
 public void test() {
 System.out.println("Blue");
 }
 };
 AllColor(String name) {
 this.name = name;
 }
  private String name;  public String getName() {return name;
 }
  public void setName(String name) {this.name = name;
 }
 abstract void test();
 }
 |