kotlin 方法局部变量为啥在定义的时候不用赋值,而类变量需要


#1

kotlin 方法局部变量为啥在定义的时候不用赋值,而类变量需要。

val b :String  //报错
var c :String //报错

fun printA(name : String){

    val b :String //通过
    var c :String //通过

}

#2

你试一下定义好局部变量之后不赋值,看看能不能直接使用(比如 println 出来)

然后你就会发现,还是会报错…


#3

谢谢你的回复;我试了一下,如果要使用未赋值的变量 会报错;比如 print(b), 提示错误;不明白为啥要设计成这样有差别的


#4

你可以再试一下,类变量也不是一定要在定义的时候赋值,比如:

class Test {
    val a: String

    init {
        a = ""
    }
}

#5

这个我知道 这个init 是有特殊含义的:joy:


京ICP备16022265号-2 Kotlin China 2017 - 2018