前言
本文是基础,需要通篇看。
除了文字版本,也有Xmind版本 github地址
同样也带着几个问题来看:
① 幕后字段与幕后属性的区别
② val var什么区别
③ field字段什么时候不会有
④ 属性延迟初始化怎么实现?
⑤ 什么是编译期常量
本文目录如下
- 定义
- getter和setter
- var
- val
- getter和setter方法的权限
- 注意
- 幕后字段
- 什么时候没有field字段?
- 幕后属性
- 定义
- 对于 JVM 平台
- 幕后字段与幕后属性的区别
- 编译期常量
- 延迟初始化属性与变量
- 解决办法
- 适用范围
- 注意
- 检测一个 lateinit var 是否已初始化(自 1.2 起)
- 覆盖属性
- 委托属性
定义
val var是不是有一股JS的味道。
属性定义有两种
- var 可变
- val 不可变