Kotlin系列——变量,数据类
2017-12-12 本文已影响81人
李晓通
前言
今天带来Kotlin系列第二篇文章,如何声明变量以及定义数据类,没有开始用Kotlin的小伙伴们可以开始尝试慢慢使用,kotlin和java是可以互调的。
声明变量
java中声明变量
String name = "LXT";
int num = 1;
kotlin声明变量语法
<标识符> : <类型> = <初始化值>
举个例子
var name : String = "LXT"
val num : Int = 1
细心的朋友可能注意到了,在kotlin中是有var和val两种方式的,那么接下来给大家介绍一下kotlin中的一些特征
1. 变量分为var、val两种,分别代表可变变量、不可变变量;
-
声明变量时需要指定数据类型,当然kotlin也可以根据变量的初始值推测数据类型;
-
数据类型包括Kotlin内置的数据类型以及自定义类等;
-
声明成员变量时需要赋初始值,否则编译会报错;
- 在类中变量(var)如果需要延后赋值,可以用
lateinit
修饰。
变量允许是否允许为空
如果我们需要声明一个成员变量,并且允许为空,我们可以这样声明
如果我们需要声明一个成员变量,不允许为空并且想稍后赋值,我们可以这样声明
数据类
声明一个学生类,具有姓名和年龄的属性
java中
在需要用到的地方我们是这样声明的
kotlin中,我们要用到data
编译器会为数据类(data class)自动生成以下函数:
equals()/hashCode()
toString() 默认输出"Student(name=LXT, age=20)"
componentN() 按声明顺序对应于所有属性
copy()
注意了,这里说一下data数据类必须满足的条件
主构造函数至少有一个参数;
主构造函数的所有参数需标记为val 或 var;
数据类不能是抽象、开放、密封或者内部的;
如果数据类需要无参构造函数,则所有属性必须有默认值:
data class Student(val name: String = "", val age: Int = 0)
总结
文章到此结束,kotlin在很多方面的确比java简洁,没有开始使用kotlin的小伙伴可以慢慢尝试着开始写小demo,喜欢的朋友可以动动小手点点赞哦!