您好,登錄后才能下訂單哦!
小編給大家分享一下java枚舉類的屬性、方法和構造方法怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
一 點睛
枚舉類也是一種類,只是它是一種比較特殊的類,因此它一樣可以使用屬性和方法。
枚舉類通常應該設計成不可變類,也就說它的屬性值不應該允許改變,這樣會更安全,而且代碼更加簡潔。為此,我們應該將枚舉類的屬性都使用private final修飾。
一旦為枚舉類顯式定義了帶參數的構造器,則列出枚舉值時也必須對應地傳入參數。
二 簡單枚舉類實戰
1 代碼
Gender.java
public enum Gender { MALE,FEMALE; // 定義一個public修飾的實例變量 public String name; }
GenderTest.java
public class GenderTest { public static void main(String[] args) { // 通過Enum的valueOf()方法來獲取指定枚舉類的枚舉值 Gender g = Enum.valueOf(Gender.class , "FEMALE"); // 直接為枚舉值的name實例變量賦值 g.name = "女"; // 直接訪問枚舉值的name實例變量 System.out.println(g + "代表:" + g.name); } }
2 運行
FEMALE代表:女
三 better枚舉類實戰
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("參數錯誤"); return; } break; case FEMALE: if (name.equals("女")) { this.name = name; } else { System.out.println("參數錯誤"); 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()); // 此時設置name值時將會提示參數錯誤。 g.setName("男"); System.out.println(g + "代表:" + g.getName()); } }
2 運行
FEMALE代表:女
參數錯誤
FEMALE代表:女
四 best枚舉類實戰
1 代碼
Gender.java
public enum Gender { // 此處的枚舉值必須調用對應構造器來創建 MALE("男"),FEMALE("女"); private final String name; // 枚舉類的構造器只能使用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 運行
FEMALE代表:女
MALE代表:男
以上是“java枚舉類的屬性、方法和構造方法怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。