日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

【Java】6.9 枚举类

發布時間:2025/3/20 java 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Java】6.9 枚举类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

枚舉類簡介

實現枚舉類

枚舉類的成員變量、方法和構造器


枚舉類簡介

【什么是枚舉類?】

枚舉類就是實例有限且固定的類。且在定義時,枚舉類要在第一行全部列出

【為什么要是用枚舉類?】

使用枚舉類可以使代碼更高效、更簡潔、更安全,也更容易維護。比如可以使用枚舉類來代替常量(public?static?final ...),限定數據的取值范圍等。

【什么時候需要使用枚舉類?】

當一個類的實例有限且固定的時候,需要使用枚舉類

【如何實現枚舉類?】

實現枚舉類

public static final int SPRING = 1; public static final int SUMMER = 2; public static final int FALL = 3; public static final int WINTER = 4;

【手動定義枚舉類的設計方式】

  • 通過private將構造器隱藏起來
  • 把這個類所有可能實例使用public?static?final修飾類的變量來保存
  • 【枚舉類與普通類的異同】

    相同的地方:他一樣可以有自己的成員變量、方法、構造器和可以實現一個或多個接口

    不同的地方:

  • 枚舉類可以實現一個或多個接口,使用enum定義的枚舉類默認繼承了java.lang.Enum類,而非默認的Object類,因此枚舉類不能顯式繼承其它父類。其中,java.lang.Enum類實現了java.lang.Serializable和java.lang.Comparable兩個接口
  • 使用enum定義、非抽象的枚舉類默認會使用final修飾,因此枚舉類不能派生子類
  • 枚舉類的構造器只能使用private修飾符修飾
  • 枚舉類的所有實例必須在第一行出顯式列出
  • /** * @ClassName: SeasonEnum* @description: 枚舉類* @author: FFIDEAL* @Date: 2020年3月3日 下午8:40:20*/public enum SeasonEnum {//丁一航列出四個枚舉類SPRING,SUMMER,FALL,WINTER; } /** * @ClassName: EnumTest* @description: 測試枚舉類* @author: FFIDEAL* @Date: 2020年3月3日 下午8:42:54*/public class EnumTest {public void judge(SeasonEnum s) {//switch與距離的表達式可以是枚舉類/byte/short/int/char/Stringswitch(s){case SPRING:System.out.println("春暖花開");break;case SUMMER:System.out.println("夏日炎炎");break;case FALL:System.out.println("秋高氣爽");break;case WINTER:System.out.println("白雪皚皚");break;}}public static void main(String[] args) {//枚舉類有一個默認的values方法,返回該枚舉類的所有實例for(SeasonEnum s : SeasonEnum.values()) {System.out.println(s);}//使用枚舉實例是,可以通過EnumClass.variable形式來訪問new EnumTest().judge(SeasonEnum.SPRING);} }

    【java.lang.Enum類中準備的方法】

  • int comparaTo(E o):用于同一類型枚舉實例的比較。
  • String?name():返回次枚舉實例的名稱
  • int?ordinal():返回枚舉值在美劇類中的索引值
  • String?toString():常用
  • 枚舉類的成員變量、方法和構造器

    /** * @ClassName: Gender* @description: 定義一個枚舉類,設置邏輯方法* setName傳進一個參數,若與枚舉類相匹配就返回,若不相匹配,就輸出“參數錯誤”* @author: FFIDEAL* @Date: 2020年3月3日 下午9:12:43*/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("參數錯誤");}break;case FEMALE:if(name.equals("女")) {this.name = name;}else {System.out.println("參數錯誤");}}}public String getName() {return this.name;} } /** * @ClassName: GenderTest* @description: 枚舉類Gender的測試類* @author: FFIDEAL* @Date: 2020年3月3日 下午9:19:18*/public class GenderTest {public static void main(String[] args) {//通過Enum的values()方法來獲取指定枚舉類的枚舉值Gender g = Enum.valueOf(Gender.class, "FEMALE");g.setName("女");System.out.println(g + "代表:" + g.getName());//以下代碼會出現參數錯誤 // g.setName("男"); // System.out.println(g + "代表:" + g.getName());} }

    ?

    總結

    以上是生活随笔為你收集整理的【Java】6.9 枚举类的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。