java中的枚舉類


枚舉類(enum),與class和interface關鍵字地位相同。

枚舉類是一個特殊的類,可以有自己的成員變量、方法、構造器,可以實現一個或多個接口。一個java源文件中只能有一個public的enum類。

枚舉類終究不是普通類,它與普通類有什么區別呢?

  enum默認繼承的是java.lang.Enum類,而不是Object類。enum類不能顯式繼承其他父類。

  使用enum定義、非抽象的枚舉類默認會使用final修飾,因此enum類不能被繼承(不能派生子類)。

  枚舉類的構造器只能使用private來修飾。

  枚舉類的所有實例只能在枚舉類的第一行顯式列出。系統會自動添加public static final 修飾,程序員無需顯式添加。

  枚舉類提供了一個values()方法,可以很方便的遍歷enum的值。 

public enum SeasonEnum
{
  //列出4個枚舉實例
  SRING,SUMMER,FALL,WINTER; }

這個類等價於:

public static final int SEASON_SPRING=1;
public static final int SEASON_SUMMER=2;
public static final int SEASON_FALL=3;
public static final int SEASON_WINTER=4;

  

遍歷SeasonEnum類的方法:

public class EnumTest
{
  public void judge(SeasonEnum s)
  {
    switch(s)
    {
      case SRING:
        syso(“春”);
        break;
      case SUMMER:
        syso("夏");
        break;
      ......
    }
  }

  //main方法   main()   {     for(SeasonEnum s:SeasonEnum.values())
    {
      Syso(s);
    }

    new EnumTest().judge(SeasonEnum.SUMMER);//使用枚舉類的類名SeasonEnum調用實例
  }
}

  


免責聲明!

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



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