3.2 声明变量和值
首先,在Kotlin中, 一切都是对象。所以,所有变量也都是对象(也就是说,任何变量都是根据引用类型来使用的)。
Kotlin的变量分为 var
(可变的) 和 val
(不可变的)。
可以简单理解为:
var
是可写的,在它生命周期中可以被多次赋值;
而val
是只读的,仅能一次赋值,后面就不能被重新赋值。
代码示例
package com.easy.kotlin
import java.util.*
class VariableVSValue {
fun declareVar() {
var a = 1
a = 2
println(a)
println(a::class)
println(a::class.java)
var x = 5 // 自动推断出 `Int` 类型
x += 1
println("x = $x")
}
fun declareVal() {
val b = "a"
//b = "b" //编译器会报错: Val cannot be reassigned
println(b)
println(b::class)
println(b::class.java)
val c: Int = 1 // 立即赋值
val d = 2 // 自动推断出 `Int` 类型
val e: Int // 如果没有初始值类型不能省略
e = 3 // 明确赋值
println("c = $c, d = $d, e = $e")
}
}
我们知道,在Java中也分可变与不可变(final)。在Kotlin中,更简洁的、更常用的场景是:只要可能,尽量在Kotlin中首选使用val
不变值。因为事实上在程序中大部分地方使用不可变的变量,可带来很多益处,如:可预测的行为和线程安全。
当前内容版权归 JackChan1999 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 JackChan1999 .