1. 程式人生 > 其它 >Java 基礎(列舉類)

Java 基礎(列舉類)

1.列舉類的理解:類的物件只有有限個,確定的
2.當需要定義一組常量時,強烈建議使用列舉類
3.如果列舉類中只有一個物件,則可以作為單例模式的實現方式

package com.klvchen.java;

public class SeasonTest1 {
    public static void main(String[] args){
        Season1 summer = Season1.SUMMER;
        System.out.println(summer);

        System.out.println(summer.toString());

        System.out.println(Season1.
class.getSuperclass()); System.out.println("********************"); Season1[] values = Season1.values(); for (int i = 0; i < values.length; i++){ System.out.println(values[i]); values[i].show(); } System.out.println("********************"); Thread.State[] values1
= Thread.State.values(); for (int i = 0; i < values1.length; i++){ System.out.println(values1[i]); } System.out.println("********************"); Season1 winter = Season1.valueOf("WINTER"); System.out.println(winter); winter.show(); } }
interface Info{ void show(); } //使用 enum 關鍵字列舉類 enum Season1 implements Info{ //1.提供當前列舉類的物件,多個物件之間用","隔開,末尾物件";"結束 SPRING("春天","春暖花開"){ @Override public void show(){ System.out.println("春天在哪裡?"); } }, SUMMER("夏天","夏日炎炎"){ @Override public void show(){ System.out.println("寧夏"); } }, AUTUMN("秋天","秋高氣爽"){ @Override public void show(){ System.out.println("秋天不回來"); } }, WINTER("冬天","冰天雪地"){ @Override public void show(){ System.out.println("大約在冬季"); } }; //2.宣告 Season 物件的屬性: private final 修飾 private final String seasonName; private final String seasonDesc; //3.私有化類的構造器,並給物件屬性賦值 private Season1(String seasonName,String seasonDesc){ this.seasonName = seasonName; this.seasonDesc = seasonDesc; } public String getSeasonName(){ return seasonName; } public String getSeasonDesc(){ return seasonDesc; } @Override public void show(){ System.out.println("這是一個季節"); } }