Kotlin基础教程-数据对象
2017-06-06 10:32
232 查看
数据对象
一个小小的
equals/hashCode
toString
copy
参数必须使用val/var定义
数据类不能用 abstract,open,sealed,或者 inner
不能继承其他类,但可以实现接口
在 JVM 中如果构造函数是无参的,则所有的属性必须有默认的值
执行结果:
User(name=doctorq, age=28)
User(name=doctorq, age=27)
定义数据对象
关键字:datadata class User(val name: String, val age: Int)
一个小小的
data关键字会带来什么便利,会自动为该类生成如下方法:
equals/hashCode
toString
copy
数据对象特点
主构造函数必须有一个参数参数必须使用val/var定义
数据类不能用 abstract,open,sealed,或者 inner
不能继承其他类,但可以实现接口
在 JVM 中如果构造函数是无参的,则所有的属性必须有默认的值
复制函数
data class User(val name: String, val age: Int) { } fun main(args: Array<String>) { val user = User("doctorq", 28) println(user.toString()) val copyUser = user.copy(age = 27) println(copyUser.toString()) }
执行结果:
User(name=doctorq, age=28)
User(name=doctorq, age=27)
多重声明
使用数据类为多个变量赋值val (name,age) = copyUser println("$name is $age")
标准数据类
val pair = Pair(1,2) println(pair.toString()) val triple = Triple(1,2,3) println(triple.toString())
相关文章推荐
- Kotlin基础教程之伴生对象,getter,setter,内部,局部,匿名类,可变参数
- java基础教程:常用对象之基本数据类型包装类(23)
- Kotlin基础教程之数据类型
- Kotlin基础教程-对象表达式和声明
- ASP.NET基础教程-使用CommandBuilder对象自动生成SQL语句对数据进行批量更新
- Kotlin 基础教程之类、对象、接口
- Kotlin基础教程-基本数据类型
- Java基础教程之对象的方法与数据成员
- Java基础教程之对象的方法与数据成员
- CodeSmith使用基础教程 三 — 语法与对象
- ASP基础教程之实例学习ASP Response 对象
- CodeSmith使用基础教程 (3) — 语法与对象
- [推荐]javascript 面向对象技术基础教程
- [推荐]javascript 面向对象技术基础教程
- Ajax基础教程--- 2.1 XMLHttpRequest对象概述
- PHP类实例教程(二):类和对象的基础部分
- [原创][PowerShell教程][04]PowerShell面向对象基础之一
- CodeSmith使用基础教程 三 — 语法与对象
- VBScript基础教程之十二在VBScript中使用对象
- ASP.NET基础教程-SqlConnection对象-建立数据库连接