声明属性有两种方式
1、主构造函数直接声明
当主构造函数里,有var or val修饰的时候,等价于在类中添加当前属性,意思是将该变量作为类的成员变量来使用。可能是因为主构造函数是类头的一部分。
副构造函数不支持 var or val修饰。
扩展:
val表示只读,默认只有getter方法;
var表示读写,默认有getter和setter方法
2、普通函数里声明
早期的 Kotlin 版本函数参数是可以定义成 var 的,不过后来官方明确了「函数参数都是不可变」这一点。
在这篇更新日志里可以找到说明
3、在类中直接添加