java枚举enum总结大全

1.注意点

(1)枚举中的构造方法必须是private的。

(2)枚举中可以定义抽象方法和一般方法,但枚举对象必须实现所有抽象方法。

(3)枚举对象必须放在第一行。

 1 package classTwo01;
 2 
 3 public enum Colors {
 4 
 5     RED{
 6         @Override
 7         public void setName(String name) {
 8             this.name=name;
 9         }
10         
11     },BLUE{
12         @Override
13         public void setName(String name) {
14             this.name=name;
15         }
16         
17     };
18     
19     public String name; 
20     
21     private Colors(){
22         
23     }
24 //    private Colors(String name){
25 //        this.name=name;
26 //    }
27 //    
28     public String getName() {
29         return name;
30     }
31     
32     public abstract void setName(String name);
33 }
 1 package classTwo01;
 2 
 3 public class Test {
 4 
 5     public static void main(String[] args) {
 6         Colors.BLUE.setName("绿色");
 7         String color=Colors.BLUE.getName();
 8         System.out.println(color);
 9     }
10 }

(3)枚举中values()方法是获取所有的枚举对象,使为一个数组,然后通过forEach循环输出。

 1 package classTwo01;
 2 
 3 public enum Colors {
 4 
 5     RED(1,"红色"),BLUE(2,"蓝色");
 6     
 7     private int id;
 8     private String name;
 9     
10     Colors(int id,String name){
11         this.id=id;
12         this.name=name;
13     }
14     
15     public int getId() {
16         return id;
17     }
18     public String getName() {
19         return name;
20     }
21     
22 }
package classTwo01;

import java.util.Iterator;

public class Test {

    public static void main(String[] args) {
        Colors[] colors=Colors.values();
        for (Colors color : colors) {
            System.out.println(color.getId()+":"+color.getName());
        }
    }
}

 我们知道switch()括号中可以使byte short int char String enum  那么枚举该怎么用呢,看下面实例

 1 public static void switchTest(Colors color) {
 2         switch (color){
 3             case RED:{
 4                 System.out.println("红色");
 5                 break;
 6             }
 7             case BLUE:{
 8                 System.out.println("蓝色");
 9                 break;
10             }
11             default:{
12                 break;
13             }
14         }
15     }

 枚举定义的模板: 1:枚举变量  (必须放在第一行的位置)(可多个)

         2:成员变量(可多个)

           3:静态或非静态方法(可多个)

         4:构造方法(可多个)

         5:普通方法(可多个)

         6:抽象方法(可多个)

 

posted @ 2018-07-25 16:12  木&子  阅读(233)  评论(0编辑  收藏  举报