java枚舉類(lèi)的屬性、方法和構(gòu)造方法應(yīng)用實(shí)戰(zhàn)
本文實(shí)例講述了java枚舉類(lèi)的屬性、方法和構(gòu)造方法應(yīng)用。分享給大家供大家參考,具體如下:
一 點(diǎn)睛
枚舉類(lèi)也是一種類(lèi),只是它是一種比較特殊的類(lèi),因此它一樣可以使用屬性和方法。
枚舉類(lèi)通常應(yīng)該設(shè)計(jì)成不可變類(lèi),也就說(shuō)它的屬性值不應(yīng)該允許改變,這樣會(huì)更安全,而且代碼更加簡(jiǎn)潔。為此,我們應(yīng)該將枚舉類(lèi)的屬性都使用private final修飾。
一旦為枚舉類(lèi)顯式定義了帶參數(shù)的構(gòu)造器,則列出枚舉值時(shí)也必須對(duì)應(yīng)地傳入?yún)?shù)。
二 簡(jiǎn)單枚舉類(lèi)實(shí)戰(zhàn)
1 代碼
Gender.java
public enum Gender { MALE,FEMALE; // 定義一個(gè)public修飾的實(shí)例變量 public String name; }
GenderTest.java
public class GenderTest { public static void main(String[] args) { // 通過(guò)Enum的valueOf()方法來(lái)獲取指定枚舉類(lèi)的枚舉值 Gender g = Enum.valueOf(Gender.class , "FEMALE"); // 直接為枚舉值的name實(shí)例變量賦值 g.name = "女"; // 直接訪問(wèn)枚舉值的name實(shí)例變量 System.out.println(g + "代表:" + g.name); } }
2 運(yùn)行
FEMALE代表:女
三 better枚舉類(lèi)實(shí)戰(zhàn)
1 代碼
Gender.java
public enum Gender { MALE,FEMALE; private String name; public void setName(String name) { switch (this) { case MALE: if (name.equals("男")) { this.name = name; } else { System.out.println("參數(shù)錯(cuò)誤"); return; } break; case FEMALE: if (name.equals("女")) { this.name = name; } else { System.out.println("參數(shù)錯(cuò)誤"); return; } break; } } public String getName() { return this.name; } }
GenderTest.java
public class GenderTest { public static void main(String[] args) { Gender g = Gender.valueOf("FEMALE"); g.setName("女"); System.out.println(g + "代表:" + g.getName()); // 此時(shí)設(shè)置name值時(shí)將會(huì)提示參數(shù)錯(cuò)誤。 g.setName("男"); System.out.println(g + "代表:" + g.getName()); } }
2 運(yùn)行
FEMALE代表:女
參數(shù)錯(cuò)誤
FEMALE代表:女
四 best枚舉類(lèi)實(shí)戰(zhàn)
1 代碼
Gender.java
public enum Gender { // 此處的枚舉值必須調(diào)用對(duì)應(yīng)構(gòu)造器來(lái)創(chuàng)建 MALE("男"),FEMALE("女"); private final String name; // 枚舉類(lèi)的構(gòu)造器只能使用private修飾 private Gender(String name) { this.name = name; } public String getName() { return this.name; } }
GenderTest.java
public class GenderTest { public static void main(String[] args) { Gender g = Gender.valueOf("FEMALE"); Gender m = Gender.valueOf("MALE"); System.out.println(g + "代表:" + g.getName()); System.out.println(m + "代表:" + m.getName()); } }
2 運(yùn)行
FEMALE代表:女
MALE代表:男
更多java相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Java面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)與進(jìn)階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。
相關(guān)文章
SpringBoot中的Profile多環(huán)境配置方法
這篇文章主要介紹了SpringBoot中的Profile多環(huán)境配置,SpringBoot提供了兩種多環(huán)境配置的方式,分別是使用profile文件進(jìn)行多環(huán)境配置以及使用@Profile注解進(jìn)行多環(huán)境配置,需要的朋友可以參考下2023-01-01spring boot整合mybatis利用Mysql實(shí)現(xiàn)主鍵UUID的方法
這篇文章主要給大家介紹了關(guān)于spring boot整合mybatis利用Mysql實(shí)現(xiàn)主鍵UUID的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2018-03-03解決springboot服務(wù)啟動(dòng)報(bào)錯(cuò):Unable?to?start?embedded?contain
這篇文章主要介紹了解決springboot服務(wù)啟動(dòng)報(bào)錯(cuò):Unable?to?start?embedded?contain的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08java實(shí)現(xiàn)簡(jiǎn)單五子棋小游戲(2)
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡(jiǎn)單五子棋小游戲的第二部分,添加游戲結(jié)束條件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01從Myeclipse 導(dǎo)入到eclipse中無(wú)法識(shí)別為 web項(xiàng)目 問(wèn)題的解決步驟
這篇文章主要介紹了從Myeclipse 導(dǎo)入到eclipse中無(wú)法識(shí)別為 web項(xiàng)目 問(wèn)題的解決步驟,需要的朋友可以參考下2018-05-05解決spring boot啟動(dòng)掃描不到自定義注解的問(wèn)題
這篇文章主要介紹了解決spring boot啟動(dòng)掃描不到自定義注解的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09IDEA創(chuàng)建方法時(shí)如何快速添加注釋
這篇文章主要介紹了IDEA創(chuàng)建方法時(shí)如何快速添加注釋問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02SpringBoot整合MybatisPlusGernerator實(shí)現(xiàn)逆向工程
在我們寫(xiě)項(xiàng)目的時(shí)候,我們時(shí)常會(huì)因?yàn)樾枰獎(jiǎng)?chuàng)建很多的項(xiàng)目結(jié)構(gòu)而頭疼,本文主要介紹了SpringBoot整合MybatisPlusGernerator實(shí)現(xiàn)逆向工程,具有一定的參考價(jià)值,感興趣的可以了解一下2024-05-05Java之字節(jié)碼以及優(yōu)勢(shì)案例講解
這篇文章主要介紹了Java之字節(jié)碼以及優(yōu)勢(shì)案例講解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08