W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
因?yàn)槊杜e類型實(shí)際上是一個(gè)類類型,所以我們可以在枚舉類型體中聲明一切,我們可以在類體中聲明它。
以下代碼使用字段,構(gòu)造函數(shù)和方法定義了一個(gè)級別枚舉。
public enum Level { LOW(30), MEDIUM(15), HIGH(7), URGENT(1); // Declare an instance variable private int levelValue; // Declare a private constructor private Level(int levelValue) { this.levelValue = levelValue; } public int getLevelValue() { return levelValue; } }
上面的代碼聲明了一個(gè)實(shí)例變量 levelValue
,它將為每個(gè)枚舉常量存儲一個(gè)值。
它還定義了一個(gè)私有構(gòu)造函數(shù),它接受一個(gè)int參數(shù)。它將其參數(shù)的值存儲在實(shí)例變量中。
我們可以向枚舉類型添加多個(gè)構(gòu)造函數(shù)。
我們不能向枚舉類型添加公共或受保護(hù)的構(gòu)造函數(shù)。
級別枚舉聲明一個(gè)公共方法getLevelValue()。
枚舉常量聲明已更改為
LOW(30), MEDIUM(15), HIGH(7), URGENT(1);
現(xiàn)在每個(gè)枚舉常量名稱后面都跟著括號中的整數(shù)值。 LOW(30)是調(diào)用int參數(shù)類型的構(gòu)造函數(shù)的縮寫。
當(dāng)創(chuàng)建枚舉常量時(shí),括號中的值將被傳遞給我們添加的構(gòu)造函數(shù)。
LOW調(diào)用默認(rèn)的無參數(shù)構(gòu)造函數(shù),而LOW(30)使用參數(shù)調(diào)用構(gòu)造函數(shù)。
以下代碼測試Level枚舉類型。它打印常量的名稱,它們的序數(shù)和它們的下劃線值。
enum Level { LOW(30), MEDIUM(15), HIGH(7), URGENT(1); // Declare an instance variable private int levelValue; // Declare a private constructor private Level(int levelValue) { this.levelValue = levelValue; } public int getLevelValue() { return levelValue; } } public class Main { public static void main(String[] args) { for (Level s : Level.values()) { String name = s.name(); int ordinal = s.ordinal(); int underLine = s.getLevelValue(); System.out.println("name=" + name + ", ordinal=" + ordinal + ", underLine=" + underLine); } } }
上面的代碼生成以下結(jié)果。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: