本节讨论 Kotlin 的数据类、枚举类和密闭类。
数据类
数据类是 Kotlin 中很特殊的一种类,它可以将我们类中的成员变量自动的生成 getter/setter 方法,以及我们经常需要重写的 toString()、hashCode()、equals()、copy() 方法,而不需要像 Java Bean 一样需要我们手动去重写这些方法。
数据类的声明只需要在类的前面添加 data
关键字。
需要注意一点的是,数据类是 final 类型的,不能添加 open
关键字去修饰它!
枚举
枚举类
Kotlin 中也有枚举类,它的枚举类与 Java 中的使用是一致的:
但是在 Kotlin 中我们很少使用枚举类,而是使用它更加强大的“枚举类”,称之为密闭类。
密闭类
使用 sealed
关键字修饰一个类即可,另外密闭类是可以有子类的,但是密闭类的子类必须和密闭类写在同一个文件中,所以通常会把密闭类的子类写在类本身里面。它的用法也与枚举类的用法一致,示例如下:
密闭类最大一个特性在于它是可以有扩展它的子类的,并且它的子类也可以成为密闭类的一个选项,示例如下:
以上就是本节内容,欢迎大家关注~