数据类和封闭类
数据类
定义:
数据类规定,属性要通 过主构造器指定,而且数据类要在 class关键宇前面加 data。 所谓数据类,其实就是只定义必要的部分,其 余的部分 ,可以自动推导。
data class User(val name:String,var age:Int)
var userl =User (”Mike”,34)
var user2 = User (”Mike”, 34)
println(userl. equals(user2))
println (userl )
println(user2)
数据类和普通类的最大区别是数据类和普通类的最大不同,就是数据类可以根据主构造器的参数自动生成相关的代码。因此,如果一个Kotlin类,同时兼有普通类,以及存储和管理数据的功能,建议直接使用数据类。
- 数据类不能是抽象类 、 open 类、封闭( sealed)类或内部 (inner)类。
对象复制
//kotlin copy 函数演示
var jhon = User(name="jhon",age=32)
var baby = jhon.copy(age=1)
数据类成员的解构
封闭类(sealedCiiis锦)
主要用在when表达式上,不需要用else进行判断了
在 Kotlin 中提供了一些特殊的类,其中数据类和封闭类就是其中的两个。尽管这些特殊的类并不是必需的,但在很多时候使用它们的确会给我们带来好处,尤其是数据类,在进行数据映射时将会变得得心应手。