java枚舉類(enum)


枚舉類是在java 5后新增的,可以用於封裝常量,並且還可以為常量的使用提供一些方法。

定義枚舉類的語法:

        

  public   enum   EnumName{
       //必須放在第一行
      成員1(A,B...),成員2(A,B...),成員3(A,B....)........;//A,B可以沒有 private  Type  A;
       private    Type  B;
          ......
       private  EnumName(Type  a,Type  b.......) 
             {       A=a;
                    B=b;
                    .....
             }
          關於A,B.....的get和set方法
        }

 

獲得枚舉類中某個枚舉成員:

                                                    枚舉類名.枚舉成員;

 通過:  枚舉類名.values()     可以獲得該枚舉類中的所有枚舉成員;如

       

enum  AA{
     A,B,C;
}

 若要遍歷輸出所有的元素,則:

for( AA  s : AA.values()  )
System.out.println(s);

結果為:         

                  A

                  B

                  C

編寫一個Wheher.java類,完整代碼如下:

 enum AA {
    YES(2),NO(4); 
    private int value;
    private  AA(int i) //也可以省略private
    {
        value=i;
    }
    public int getValue() {
        return value;
    }

    public void setValue(int value) {
        this.value = value;
    }
    
}
public class Wheher{
    public static void main(String args[])
    {   
        System.out.println("輸出枚舉類中的成員NO的值----"+AA.NO);
        
        System.out.println("\n---調用函數isYes()--");
         System.out.println(isYes(AA.YES));
         System.out.println(isYes(AA.NO)+"\n");
         
         System.out.println("查看枚舉常量所代替的值---"+AA.YES.getValue());
         
         //設置枚舉常量的值
         AA.YES.setValue(25);
         System.out.println("\n改變后Yes的值為----"+AA.YES.getValue());
           
    }
    public  static boolean isYes(AA a)
    {
        if(AA.YES.equals(a))
            return true;
        else return false;
    }
}

運行結果為:  

              

 

枚舉類的基本原理請參考:http://www.cnblogs.com/sister/p/4700702.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM