1. 数据类
数据类使用data作为前缀进行修饰,被data修饰的类会创建如下函数
equals() toString() componentN() copy()
实例
data class User(var name : String,var age: Int){
}
注意
- 主构造器必须包含一个参数
- 所有的主构造器的参数必须用var/val 修饰
- 数据类不能使用abstract open sealed inner 修饰
- 数据类不能继承其他类,但可以实现接口
copy函数
copy函数是对该类的对象的复制,并且可以对该对象的数据进行修改
data class User(val name: String, val age: Int)
fun main(args: Array<String>) {
val jack = User(name = "Jack", age = 1)
val olderJack = jack.copy(age = 2)
println(jack)
println(olderJack)
}
输出
User(name=Jack, age=1)
User(name=Jack, age=2)