Kotlin 类与对象 —— 数据类


关键字 data

定义一个数据类

data class PersonD(val age : Int, val name: String,val area: String)

便可以实现 getter、setter、equals、toString等方法

自动从声明的所有属性导出以下成员:

  • equals()/hashCode() 对;
  • toString() 格式是 “User(name=John, age=42)”;
  • componentN() 函数 按声明顺序对应于所有属性;
  • copy() 函数

数据类满足条件

  • 主构造函数需要至少有一个参数;
  • 主构造函数的所有参数需要标记为 val 或 var;
  • 数据类不能是抽象、开放、密封或者内部的;
  • (在1.1之前)数据类只能实现接口

复制 copy()函数

在很多情况下,我们需要复制一个对象改变它的一些属性,但其余部分保持不变。 copy() 函数就是为此而生成。对于上文的 User 类,其实现会类似下面这样:

fun copy(name: String = this.name, age: Int = this.age) = User(name, age)

componentN

定义好了对应的component方法,可以方便的使用解构声明

官方文档参考:地址

发布了27 篇原创文章 · 获赞 6 · 访问量 1661

猜你喜欢

转载自blog.csdn.net/weixin_41802023/article/details/100132750