java枚舉類的屬性、方法和構(gòu)造方法應(yīng)用實(shí)戰(zhàn)
本文實(shí)例講述了java枚舉類的屬性、方法和構(gòu)造方法應(yīng)用。分享給大家供大家參考,具體如下:
一 點(diǎn)睛
枚舉類也是一種類,只是它是一種比較特殊的類,因此它一樣可以使用屬性和方法。
枚舉類通常應(yīng)該設(shè)計(jì)成不可變類,也就說它的屬性值不應(yīng)該允許改變,這樣會(huì)更安全,而且代碼更加簡潔。為此,我們應(yīng)該將枚舉類的屬性都使用private final修飾。
一旦為枚舉類顯式定義了帶參數(shù)的構(gòu)造器,則列出枚舉值時(shí)也必須對應(yīng)地傳入?yún)?shù)。
二 簡單枚舉類實(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) { // 通過Enum的valueOf()方法來獲取指定枚舉類的枚舉值 Gender g = Enum.valueOf(Gender.class , "FEMALE"); // 直接為枚舉值的name實(shí)例變量賦值 g.name = "女"; // 直接訪問枚舉值的name實(shí)例變量 System.out.println(g + "代表:" + g.name); } }
2 運(yùn)行
FEMALE代表:女
三 better枚舉類實(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枚舉類實(shí)戰(zhàn)
1 代碼
Gender.java
public enum Gender { // 此處的枚舉值必須調(diào)用對應(yīng)構(gòu)造器來創(chuàng)建 MALE("男"),FEMALE("女"); private final String name; // 枚舉類的構(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)容感興趣的讀者可查看本站專題:《Java面向?qū)ο蟪绦蛟O(shè)計(jì)入門與進(jìn)階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家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)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(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的問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08從Myeclipse 導(dǎo)入到eclipse中無法識別為 web項(xiàng)目 問題的解決步驟
這篇文章主要介紹了從Myeclipse 導(dǎo)入到eclipse中無法識別為 web項(xiàng)目 問題的解決步驟,需要的朋友可以參考下2018-05-05解決spring boot啟動(dòng)掃描不到自定義注解的問題
這篇文章主要介紹了解決spring boot啟動(dòng)掃描不到自定義注解的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09IDEA創(chuàng)建方法時(shí)如何快速添加注釋
這篇文章主要介紹了IDEA創(chuàng)建方法時(shí)如何快速添加注釋問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02SpringBoot整合MybatisPlusGernerator實(shí)現(xiàn)逆向工程
在我們寫項(xiàng)目的時(shí)候,我們時(shí)常會(huì)因?yàn)樾枰獎(jiǎng)?chuàng)建很多的項(xiàng)目結(jié)構(gòu)而頭疼,本文主要介紹了SpringBoot整合MybatisPlusGernerator實(shí)現(xiàn)逆向工程,具有一定的參考價(jià)值,感興趣的可以了解一下2024-05-05