- 方法内参数都为不可变参数, 若要改变其值, 需要定义一个变量承载, 并改变这个变量的值来使用
- 多层 ?. 并不影响使用, 当其中有一个为 null 则结果为 null
- ?: 变种三目运算符, 当 ? 前为 null 时使用 : 之后的值, 所以用来给某些变量赋默认值
- 常量类或者 Utils 等基本都是静态变量或者静态方法的类将修饰符 class 换为 object 则所有的变量和方法都可以直接访问
构造函数
- 主构造函数, 只有一个, 直接写在类名后边, 可以加修饰符, 主构造函数不能写任何语句, 初始化代码写在 init 块里, 可以有多个 init 每个 init 的执行顺序按照写的顺序来执行, 主构造参数只能用于 init 块 或者直接为变量赋值, 不能直接用于类中的方法
- 次构造函数, 可以有多个, 可以使用 this 直接委托或通过别的刺激构造间接委托给主构造函数, 相当于 java 的 this
可继承的类和方法需要使用 open 修饰
- 单例写法
- 内部类