java列舉(enum)詳解
一.為什麼要使用列舉.
需求:定義一個Employee(員工),使用一個變數restday來表示他哪一天休息.如圖:
二.列舉的特點:
1.列舉的直接父類:java.lang.Enum,但是不能顯示繼承Enum.
2.列舉就相當於一個類,可以定義構造方法,成員變數,普通方法和抽象方法.
3.預設私有的構造方法,即使不寫訪問許可權也是private(假構造器,底層沒有無引數構造器)
4.每一個列舉例項分別用一個全域性常量表示,列舉類的物件是固定的,例項個數有限,不能使用new關鍵字.
5.列舉例項必須位於列舉體中最開始部分,列舉例項列表後要有分號與其他成員相分隔.
6.列舉例項後有花括號時,該例項是列舉類的匿名內部類物件.
三.列舉的使用:
1.列舉中都是全域性公共的靜態常量,可以直接使用列舉類名呼叫.
Weekday day = Weekday.SATURDAY();
2.因為java.lang.Enum類是所有列舉類的父類,所以所有的列舉物件可以呼叫Enum類中的方法.
String name = 列舉物件.name();//返回列舉物件的常量名稱
int ordinal = 列舉物件.ordinal();//返回列舉物件的序號,從0開始
String str = 列舉物件.toString();//返回列舉物件的常量名稱
3.編譯器生成的列舉類的靜態方法(從反編譯程式碼中):
列舉型別[] values();
Weekday[] ws = Weekday.values();:返回當前列舉型別所有的常量,使用一個數組封裝起來.
列舉型別 valueof(String name);
Weekday day = Weekday.valueOf("MONDAY");//把一個指定名稱字串轉換為當前列舉類中同名的常量.
相關推薦
Java 列舉(enum) 詳解7種常見的用法
JDK1.5引入了新的型別——列舉。在 Java 中它雖然算個“小”功能,卻給我的開發帶來了“大”方便。 大師兄我又加上自己的理解,來幫助各位理解一下。 用法一:常量 在JDK1.5 之前,我們定義常量都是: public static final.... 。現在好
java列舉(enum)詳解
一.為什麼要使用列舉. 需求:定義一個Employee(員工),使用一個變數restday來表示他哪一天休息.如圖:
Java 列舉(enum) 詳解7種常見的用法(轉)
原文:https://blog.csdn.net/qq_27093465/article/details/52180865JDK1.5引入了新的型別——列舉。在 Java 中它雖然算個“小”功能,卻給我的開發帶來了“大”方便。大師兄我又加上自己的理解,來幫助各位理解一下。用法
Java 列舉 enum 詳解
> 本文部分摘自 On Java 8 ## 列舉型別 Java5 中添加了一個 enum 關鍵字,通過 enum 關鍵字,我們可以將一組擁有具名的值的有限集合建立為一種新的型別,這些具名的值可以作為常規的程式元件使用,例如: ```java public enum Spiciness {
C++中列舉enum詳解
轉載部落格地址:https://blog.csdn.net/bruce_0712/article/details/54984371 眾所周知,C/C++語言可以使用#define和const建立符號常量,而使用enum工具不僅能夠建立符號常量,還能定義新
Java列舉型別詳解(原理+用法)
可以這麼說,Java的列舉型別本來是不存在的,但Java發了個"語法糖",就有了列舉型別。Java從JDK1.5開始支援列舉,通常一個特性如果在一開始沒有提供,在語言發展後期才新增,會遇到一個問題,就是向後相容性的問題。像Java在1.5中引入的很多特性,為了向後相容,編譯
Java 列舉(enum)型別 常見7種用法 詳解
JDK1.5引入了新的型別——列舉。在 Java 中它雖然算個“小”功能,卻給我的開發帶來了“大”方便。 用法一:常量 在JDK1.5 之前,我們定義常量都是: public static final.... 。現在好了,有了列舉,可以把相關
java enum(列舉)使用詳解
說來慚愧,一直沒有怎麼使用過列舉,只知道可以定義日期中的星期幾,沒有用到也就沒有學習,現在還是覺得應該認真瞭解下,在可以用到的時候也會發現原來列舉也可以解決這個問題。廢話不多說了,詳細在下面: 原始的介面定義常量 public
java enum(列舉)使用詳解 + 總結
enum 的全稱為 enumeration, 是 JDK 1.5 中引入的新特性,存放在 java.lang 包中。下面是我在使用 enum 過程中的一些經驗和總結。原始的介面定義常量public interface IConstants { Stri
Java 列舉enum 使用詳解
在實際程式設計中,往往存在著這樣的“資料集”,它們的數值在程式中是穩定的,而且“資料集”中的元素是有限的。 例如星期一到星期日七個資料元素組成了一週的“資料集”,春夏秋冬四個資料元素組成了四季的“資料集”。 在java中如何更好的使用這些“資料集”呢?因此列舉便派上了用場,
【Java】 enum(列舉)使用詳解 + 總結
enum 的全稱為 enumeration, 是 JDK 1.5 中引入的新特性,存放在 java.lang 包中。 下面是我在使用 enum 過程中的一些經驗和總結,主要包括如下內容: 8. 總結
java enum(列舉)使用詳解和總結(轉)
enum 的全稱為 enumeration, 是 JDK 1.5 中引入的新特性,存放在 java.lang 包中。 下面是我在使用 enum 過程中的一些經驗和總結,主要包括如下內容: 1. 原始的介面定義常量 2. 語法(定義) 3. 遍歷、switch 等常用
【C/C++開發】C++之enum列舉量宣告、定義、使用與列舉類詳解與列舉類前置型別宣告
前面講到可以通過強制轉換將其他型別值賦給列舉變數:Weekday = enumType(2);這是合法的;但是Weekday = enumType(20);是非法的。這裡涉及列舉取值範圍的概念:列舉的上限是 大於最大列舉量的 最小的2的冪,減去1; 列舉的下限有兩種情況:一、列舉量的最小值不小於0,則列
C++之enum列舉量宣告、定義、使用與列舉類詳解
前面講到可以通過強制轉換將其他型別值賦給列舉變數:Weekday = enumType(2);這是合法的;但是Weekday = enumType(20);是非法的。這裡涉及列舉取值範圍的概念:列舉的上限是 大於最大列舉量的 最小的2的冪,減去1; 列舉的下限有兩種情況:一、列舉量的最小值不小於0,則列
java.util包詳解(二)——Connection接口
操作 相同 元素 叠代 cat roo soft true nbsp Connection接口介紹 Connection接口是java集合的root接口,沒有實現類,只有子接口和實現子接口的各種容器。主要用來表示java集合這一大的抽象概念。 Connection接
java對象詳解
add splay view created 元素 繼承關系 外部 優化 csdn java對象詳解 內存布局 普通對象布局 數組的內存布局 內部類的內存布局 對象分解 對象頭-mark word(8字節) 實例數據 對齊填充(可選) java鎖分析
Java泛型詳解
對象數組 整形 泛型方法 tty 接受 一個 div -m color 泛型的本質是參數化類型,也就是說所操作的數據類型被指定為一個參數。 假定我們有這樣一個需求:寫一個排序方法,能夠對整形數組、字符串數組甚至其他任何類型的數組進行排序,該如何實現? 答案是可以使用 Ja
Java常量池詳解
回收 array 數值 編譯期 二進制格式 new 保持 占用 get 轉自:http://www.cnblogs.com/iyangyuan/p/4631696.html jvm虛擬內存分布圖: 程序計數器:JVM執行程序的流水線。 本地方法棧:JVM調用操作系統方法所
Java線程詳解(一)
線程 thread runnable 程序、進程、線程的概念 程序(program):是為完成特定任務、用某種語言編寫的一組指令的集合。即指一段靜態的代碼,靜態對象。 進程(process):是程序的一次執行過程,或是正在運行的一個程序。動態過程:有它自身的產生、存在和消亡的過程。 如
Java反射機制詳解一
java 反射 反射機制 工廠模式 1反射機制是什麽反射機制是在運行狀態中,對於任意一個類,都能夠知道這個類的所有屬性和方法;對於任意一個對象,都能夠調用它的任意一個方法和屬性;這種動態獲取的信息以及動態調用對象的方法的功能稱為java語言的反射機制。在面向對象的世界裏,萬事萬物皆對象.在ja