关键词:
文章目录
一、枚举类
Kotlin 中使用 枚举类 定义常量 , 枚举类定义格式如下 : 枚举常量 都是 枚举类 的 实例对象 ;
enum class 枚举类类型名
枚举常量1,
枚举常量2,
...
代码示例 :
enum class Gender
MALE,
FEMALE
fun main()
println(Gender.MALE)
println(Gender.MALE is Gender)
执行结果 : 枚举类打印的结果是 枚举的 常量名称 ;
MALE
true
枚举的常量 Gender.MALE 是 Gender 类的一个 实例对象 ;
二、枚举类定义函数
在枚举类中 , 可以 定义函数 , 包括 普通函数 和 构造函数 ;
1、枚举类定义普通函数
通过 枚举类 的 类型常量 ( 实例对象 ) 可以 调用 枚举类中定义的方法 ;
为枚举类定义普通函数 : 在枚举类 Gender 中定义了 log 函数 , 相当于为 Gender.MALE 和 Gender.FEMALE 实例对象定义了 log 函数 ; Gender.MALE 和 Gender.FEMALE 实例对象可以直接调用该函数 ;
enum class Gender
MALE,
FEMALE;
fun log()
println("Gender, MALE, FEMALE")
fun main()
Gender.MALE.log()
执行结果 :
Gender, MALE, FEMALE
2、枚举类定义构造函数
为枚举类定义构造函数后 , 每个枚举常量都要传入对应的构造函数参数 ;
为枚举类定义构造函数 :
enum class Gender(var id: Int)
MALE(0),
FEMALE(1);
fun log()
println("Gender, MALE 0, FEMALE 1, id = $id")
fun main()
Gender.MALE.log()
Gender.FEMALE.log()
执行结果 :
Gender, MALE 0, FEMALE 1, id = 0
三、密封类
枚举类型 是一组 子类型 闭集 ;
密封类 可以 定义 枚举类型的 子类型闭集 , 一个密封类可以有多个子类 , 继承密封类的子类 必须 与 密封类在相同的 Kotlin 代码文件中 ;
密封类适用于这种情况 , 要使用枚举的特性 , 但是需要在枚举基础上保存多个特性 ;
枚举只能实现简单的常量列举 , 如果需要更复杂的 子类型闭集 , 则需要使用密封类 ;
代码示例 :
sealed class Gender
// Male 和 Female 都是 密封类 Gender 的子类
object Male: Gender()
object Female: Gender()
class Student(var name: String, var age: Int, var gender: Gender)
fun log()
when(gender)
is Gender.Male -> println("name = $name, age = $age, 男性")
is Gender.Female -> println("name = $name, age = $age, 女性")
fun main()
var gender = Gender.Female
var student = Student("Tom", 18, gender)
student.log()
执行结果 :
name = Tom, age = 18, 女性
kotlin学习之枚举类(代码片段)
Kotlin枚举类枚举类最基本的用法是实现一个类型安全的枚举。enum关键字在类头中的class关键字前面enumclassColor...枚举常量枚举常量使用逗号分隔,每个枚举常量都是一个对象。enumclassColorRED,GREEN,BLUE访问枚举常量枚举相关属性:... 查看详情
kotlin基础-枚举类
/**枚举类:有限个类型的列举*其中的每一个称为枚举常量(可带初值),每一个以逗号分隔****///扑克牌花色enumclassPoKerCard{红心,方片,梅花,黑桃}//衣服尺码:带构造器的枚举enumclassSize(valheight:Int){S(150),M(160),L(170)}funmain(args:Array<... 查看详情
kotlin枚举类(代码片段)
枚举类最基本的用法是实现一个类型安全的枚举。枚举常量用逗号分隔,每个枚举常量都是一个对象。enumclassColorRED,BLACK,BLUE,GREEN,WHITE枚举初始化每一个枚举都是枚举类的实例,它们可以被初始化:enumclassColor(valrgb:Int)  ... 查看详情
kotlin学习之枚举类(代码片段)
...举都是这个枚举类的实例而且不提供公共的构造方法。在kotlin中& 查看详情
从零开始学kotlin-枚举
从零开始学Kotlin基础篇系列文章枚举的定义一个类的对象是有限且固定的,这种实例有限且固定的类称为枚举类;枚举常量用逗号分隔,每个枚举常量都是一个对象;enumclassEnumDemo9{RED,BLUE,BLACK,WHITE}枚举初始化每一个枚举都是枚举类... 查看详情
kotlin初学者枚举类-密封类-数据类-继承(代码片段)
...介:CSDN博客专家、华为云享专家认证系列专栏:Kotlin初学者学习交流:三人行必有我师焉;择其善者而从之,其不善者而改之。目录一、枚举类1.1创建枚举类1.2获取枚举相关信息1.3枚举类添加属性1.4定义函数1... 查看详情
使用 gradle 包装器构建 Kotlin 枚举类中的无效方法声明
】使用gradle包装器构建Kotlin枚举类中的无效方法声明【英文标题】:InvalidMethodDeclarationinKotlinEnumClassbuildingwithgradlewrapper【发布时间】:2019-04-1618:34:19【问题描述】:我有以下Kotlin枚举类:enumclassDurationModifierGreaterThanoverridevaldisplay... 查看详情
kotlin基础(十四)枚举类(enum)数据类(data)和密封类(sealed)与java的写法差异
...参数列表,你可以在enum的内部去声明字段和方法。但在kotlin中,这有点不太一样:enumclassSize(valabbreviation:String)SMALL( 查看详情
Android数据绑定:如何获取kotlin枚举类的字段值?
】Android数据绑定:如何获取kotlin枚举类的字段值?【英文标题】:AndroidDatabinding:howtogetfieldvalueofkotlinenumclass?【发布时间】:2019-11-1404:49:17【问题描述】:我有一个包含两个字段的枚举类:enumclassMyEnum(valtext1:String,valtext2:String)A("a... 查看详情
kotlin学习手记——单例内部类数据类枚举类密封类内联类(代码片段)
Kotlin单例:只需要类前面添加object关键字即可,object定义类等价于java的恶汉式的单例模式objectSingletonvarx:Int=2funy()init//object不能定义构造函数,但可以定义init块object不能定义构造函数,但可以定义init块使用ÿ... 查看详情
kotlin——最详细的抽象类(abstract)内部类(嵌套类)详解
在前面几个章节中,详细的介绍了Kotlin类的类别中的数据类、密封类、接口类以及枚举类。在这个章节中会对Koltin的抽象类和内部类作出一个详细的讲解。如果对上面所提到的类的类别还不是很清晰的,请阅读我的前几篇文章。... 查看详情
kotlin中级---kotlin类之接口枚举.md
一、接口在Kotlin中,一个类只能继承一个普通类或者抽象类。通过接口我们可以进行多实现interfaceinterfaceDemo关键字:冒号(?,这一点是和Java不同的。Java中使用接口使用的是implements关键字在Kotlin中冒号(:)使用的地方很... 查看详情
kotlin中嵌套类数据类枚举类和密封类的详解(代码片段)
博主前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住也分享一下给大家👉点击跳转到教程一、嵌套类如果一个类只对另一个类有用,那么将其嵌入到该类中并使这两个类保持在一起... 查看详情
kotlin对象枚举委托(代码片段)
目录一、Kotlin对象1.kotlin伴生对象2.kotlin对象和单例模式二、Kotlin枚举1.kotlin定义枚举2.kotlin使用枚举三、Kotlin委托1.kotlin类委托2.kotlin属性委托3.kotlinMap委托4.kotlin延迟属性5.kotlin属性监听附Github源码一、Kotlin对象1.kotlin伴生对象clas... 查看详情
将 graphql 枚举映射到 kotlin 枚举
】将graphql枚举映射到kotlin枚举【英文标题】:mappingagraphqlenumtoakotlinenum【发布时间】:2019-08-1414:55:16【问题描述】:我对Graphql和Kotlin都很陌生,我遇到了一个问题。我有一个名为成分的对象(kotlin中的数据类,输入graphql)。成... 查看详情
kotlin实战——kotlin基础(代码片段)
文章目录1.基本要素:函数和变量1.1函数1.2变量1.3更简单的字符串格式化:字符串模板2.类和属性2.1属性2.2自定义访问器3.表示和处理选择:枚举和“when”3.1声明枚举类3.2使用“when”处理枚举类3.3在“when”结构中使用... 查看详情
kotlin基础知识汇总(知识与实践相结合)
2个月的时间总算把Kotlin的基础知识写完了,下面咱们看看具体内容:学习Kotlin的必要性【Kotlin初学者】为什么要学Kotlin 【Kotlin初学者】打牢基础的重要性运行环境【Kotlin初学者】AndroidStudio运行main函数报错解决基础知识... 查看详情
kotlin初学者类的修饰符(代码片段)
类的修饰符 Kotlin类的修饰符包括classModifier和accessModifierclassModifier 类属性修饰符,标示类本身特性abstract//抽象类final//类不可继承,默认属性enum//枚举类open//类可继承,类默认是final的annotation//... 查看详情