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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【Kotlin】Kotlin enum 枚举类 ( 常用用法 | 初始化成员变量 | 实现抽象方法 | 实现接口 | 获取名称和位置索引 | 调用枚举常量方法 )

發布時間:2025/6/17 编程问答 33 豆豆

文章目錄

        • I . 枚舉類常用用法
        • II . 枚舉類初始化
        • III. 枚舉類匿名類
        • IV . 枚舉類實現接口
        • V . 獲取枚舉常量名稱和位置索引
        • VI . 獲取枚舉常量的成員變量
        • VII . 調用枚舉常量的方法
        • VIII . Kotlin 枚舉完整代碼示例



I . 枚舉類常用用法



枚舉最常用的方法 : 定義枚舉常量 , 使用逗號隔開 , 每個枚舉常量都是一個對象 ;

/*** 枚舉最常用的方法* 定義枚舉常量 , 使用逗號隔開* 每個枚舉常量都是一個對象** 這里定義了 左 右 兩個方向*/ enum class Direction{LEFT, RIGHR }

II . 枚舉類初始化



枚舉初始化 : 定義枚舉常量時 , 為其聲明一個成員變量 , 可以為其初始化一個值

/*** 枚舉初始化* 定義枚舉常量時 , 為其聲明一個成員變量 , 可以為其初始化一個值*/ enum class Number (var num : Int){ONE(1),TWO(2)}

III. 枚舉類匿名類



枚舉類抽象方法 : 枚舉類中可以定義枚舉常量的抽象方法 ;

① 實現方式 : 每個 枚舉常量 必須在 匿名類中 實現此處定義的抽象方法 ;

② 定義位置 : 枚舉常量的抽象方法要定義在枚舉類最后 ;

/*** 枚舉常量匿名類*/ enum class Student{GOOD_STUDENT{override fun say() {println("好學生")}},BAD_STUDENT{override fun say() {println("壞學生")}}; //定義了成員方法后, 最后一個枚舉常量后需要使用分號/*** 定義枚舉常量的抽象方法* 每個 枚舉常量 必須在 匿名類中 實現此處定義的抽象方法* 枚舉常量的抽象方法要定義在枚舉類最后*/abstract fun say()}

IV . 枚舉類實現接口



枚舉類實現接口 : 枚舉類可以實現接口 , 等同于將接口中的抽象方法定義在枚舉類中 ;

/*** 聲明一個接口*/ interface Speak{fun speak() }/*** 該枚舉類實現 human 接口* 每個枚舉常量都要實現 speak 方法*/ enum class Human : Speak{MAN{override fun speak() {println("男人")}},WOMEN{override fun speak() {println("女人")}}}

V . 獲取枚舉常量名稱和位置索引



獲取枚舉常量名稱和位置索引 :

① 獲取枚舉類名稱 : 枚舉類.常量名稱.name 可以獲取該枚舉常量的名稱 ;

( 打印 枚舉類.常量名稱 也可以將枚舉常量名稱打印出來)

② 獲取枚舉類索引 : 枚舉類.常量名稱.ordinal 可以獲取該枚舉常量的位置索引 , 從 0 開始計數 ;

//打印枚舉類 , 直接打印其名稱 //LEFT println(Direction.LEFT) //RIGHR println(Direction.RIGHR) //ONE println(Number.ONE) //TWO println(Number.TWO)//打印枚舉類 name 名稱 //LEFT println(Direction.LEFT.name) //RIGHR println(Direction.RIGHR.name) //ONE println(Number.ONE.name) //TWO println(Number.TWO.name)//打印枚舉類 ordinal 位置索引 //0 println(Direction.LEFT.ordinal) //1 println(Direction.RIGHR.ordinal)

VI . 獲取枚舉常量的成員變量



在枚舉定義時 , 可以為其制定成員變量 , enum class 枚舉名稱 : ( var 成員名 : 成員類型 ) , 枚舉常量定義時 , 可以為其初始化值 枚舉常量名稱 ( 成員值 ) ;

//打印枚舉類 成員變量值 //1 println(Number.ONE.num) //2 println(Number.TWO.num)

VII . 調用枚舉常量的方法



使用 枚舉類.枚舉常量名.方法名() 可以調用枚舉常量匿名類中的枚舉方法 ;

//調用枚舉類的實現的自身定義的抽象方法 //好學生 Student.GOOD_STUDENT.say() //壞學生 Student.BAD_STUDENT.say()//調用枚舉類實現的接口方法 //男人 Human.MAN.speak() //女人 Human.WOMEN.speak()

VIII . Kotlin 枚舉完整代碼示例



package enum/*** 枚舉最常用的方法* 定義枚舉常量 , 使用逗號隔開* 每個枚舉常量都是一個對象** 這里定義了 左 右 兩個方向*/ enum class Direction{LEFT, RIGHR }/*** 枚舉初始化* 定義枚舉常量時 , 為其聲明一個成員變量 , 可以為其初始化一個值*/ enum class Number (var num : Int){ONE(1),TWO(2)}/*** 枚舉常量匿名類*/ enum class Student{GOOD_STUDENT{override fun say() {println("好學生")}},BAD_STUDENT{override fun say() {println("壞學生")}}; //定義了成員方法后, 最后一個枚舉常量后需要使用分號/*** 定義枚舉常量的抽象方法* 每個 枚舉常量 必須在 匿名類中 實現此處定義的抽象方法* 枚舉常量的抽象方法要定義在枚舉類最后*/abstract fun say()}/*** 聲明一個接口*/ interface Speak{fun speak() }/*** 該枚舉類實現 human 接口* 每個枚舉常量都要實現 speak 方法*/ enum class Human : Speak{MAN{override fun speak() {println("男人")}},WOMEN{override fun speak() {println("女人")}}}fun main() {//打印枚舉類 , 直接打印其名稱//LEFTprintln(Direction.LEFT)//RIGHRprintln(Direction.RIGHR)//ONEprintln(Number.ONE)//TWOprintln(Number.TWO)//打印枚舉類 name 名稱//LEFTprintln(Direction.LEFT.name)//RIGHRprintln(Direction.RIGHR.name)//ONEprintln(Number.ONE.name)//TWOprintln(Number.TWO.name)//打印枚舉類 ordinal 位置索引//0println(Direction.LEFT.ordinal)//1println(Direction.RIGHR.ordinal)//打印枚舉類 成員變量值//1println(Number.ONE.num)//2println(Number.TWO.num)//調用枚舉類的實現的自身定義的抽象方法//好學生Student.GOOD_STUDENT.say()//壞學生Student.BAD_STUDENT.say()//調用枚舉類實現的接口方法//男人Human.MAN.speak()//女人Human.WOMEN.speak()}

執行結果 :

LEFT RIGHR ONE TWO LEFT RIGHR ONE TWO 0 1 1 2 好學生 壞學生 男人 女人

總結

以上是生活随笔為你收集整理的【Kotlin】Kotlin enum 枚举类 ( 常用用法 | 初始化成员变量 | 实现抽象方法 | 实现接口 | 获取名称和位置索引 | 调用枚举常量方法 )的全部內容,希望文章能夠幫你解決所遇到的問題。

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