Skip to content

Learning Kotlin: 属性与字段

var

val

var <propertyName>[: <PeopertyType>] [= <property_initializer>]
	[<getter>]
	[<setter>]
kotlin
var example: String 
	get() ...
	set(value) {...}

幕后字段:(还有幕后属性,起了个临时变量的作用吧?)

kotlin
package app.classes

class BackingFields {
    var counter = 0
        set(value) {
            if (value >= 0) field = value
        }
}

fun main() {
    var backingFields = BackingFields()
    println("backingFields.counter = ${backingFields.counter}")
    backingFields.counter = 1
    println("backingFields.counter = ${backingFields.counter}")
    var backingFields2 = BackingFields()
    backingFields2.counter = -1
    println("backingFields.counter = ${backingFields2.counter}")
}
bash
backingFields.counter = 0
backingFields.counter = 1
backingFields.counter = 0

亲手创建自己所需的软件,是程序员的幸运。