通過手寫列舉理解列舉

2021-09-10 10:16:30 字數 1482 閱讀 1408

在jdk1.5之前都需要程式設計師手寫列舉,在1.5之後便可以使用enum完成列舉

手寫列舉:

public class seasontest 

}class season

public string getseaname()

public string getseadesc()

@override

public string tostring() ';}}

結果:

注意構造方法是私有的,只允許內部建立所需要的類的物件,也就確定了個數,不允許外部建立物件,外部僅僅允許呼叫,如果內部只建立乙個物件,那麼該類便成為了單例模式。

改造成列舉類:

public class seasontest 

}enum season

public string getseaname()

public string getseadesc()

@override

public string tostring() ';}}

結果:

既然列舉也是一種類,則必然可以實現介面

實現介面重寫方法的方式一:

public class seasontest 

}inte***ce inter

enum season implements inter

@override

public void show()

}

這樣會發現所有的物件實現show方法的結果相同:

但仍然可以做到不同的類物件採用不同的方式實現show方法。

實現介面重寫方法的方式二(不同的類物件採用不同的方式實現show方法):

public class seasontest 

}inte***ce inter

enum season implements inter

},summer("summer","烈日炎炎")

},autumn("autumn","秋高氣爽")

};private final string seaname;

private final string seadesc;

private season(string seaname, string seadesc)

}

結果:

列舉型別理解

廢話不說,直接上 示例 enum weekday 上面的 就是定義了乙個列舉型別的變數。enum 是列舉型別的關鍵字。列舉是乙個很有意思的東西,weekday是乙個變數,而且取值範圍就是 內的值,內的值是常量表示weekday的可能去到的值,稱作列舉元素。列舉元素預設是從零開始,逐個遞增的,上面 中...

通過PspCidTable列舉程序

如果當前程序為system程序,就意味著此次開啟的核心物件訪問許可權屬於核心,那麼就使用核心控制代碼表,內 核控制代碼與使用者控制代碼不同的地方就在於核心控制代碼需要或上乙個0x80000000即最高位置為1作為標識,但是實際在使用控制代碼的時候還是不需要這個最高位值的。程序的控制代碼表由eproc...

通過普通類實現列舉

平時開發過程中,我們在接受某個引數的時候,該引數是乙個物件,並且只能是固定的某幾個物件,假如我們定義了乙個類color,我們程式中只有兩種color,white和black,這種情況下我們可能首先想到的是通過關鍵字enum定義乙個列舉類,今天我們不通過enum關鍵字來實現這種效果。首先,color這...