Kotlin类属性与常量
参考: 对象表达式与声明 类属性 类属性是定义在类中的变量或不变量,分别使用var和val定义。这里把Kotlin中的不变量和常量作下区分,不变量只是在第一次初始化后便不可改变,其余特性和变量完全一样,但它不是常量,常量的说明在后面的小节给出。 Kotlin对类属性的完整声明是: (var|val) <propertyName>[: <PropertyType>] [= <property_initializer>] [<getter>] [<setter>] 方括号[]表示该部分是可选的,其中属性初始化器、getter、setter在任何情况下都是可选的,如果属性类型可以从属性初始化器或getter中推断出,那么它也是可选的。使用val所声明的不变量是没有setter的。 类属性可以不显式地初始化,但未显式初始化的属性必须在构造器中初始化: var allByDefault: Int? // error: explicit initializer required, default getter and setter implied var initialized = 1 // has type Int, default getter and setter val simple: Int? // has type Int, default getter, must be initialized in constructor val inferredType = 1 // has type Int and a default getter 属性访问器 所谓访问,就是对属性的读与写,类会为每个属性提供默认的访问器。称读访问器为getter,写访问器为setter。对于属性变量两者都会提供,不变量只有getter,显然是由于它不可改变。访问器可以在声明属性时进行重写以替换默认访问器: val isEmpty: Boolean private get() = this....