kotlin中访问封闭作用内的变量
在java中,匿名对象访问封闭作用域内的变量,需要用final 声明变量在java8中,如果只是使用封闭作用域内的变量,该变量并不需要使用final,但是一旦修改值,就需要使用final 来声明变量.
fun main(arg: Array<String>) { var n = 2 progress(object :MyClass(){ override fun test() { if (n==2){ println("success") n=3//可以修改值 print(n) }else{ print("err") } } }) } open class MyClass { open fun test() { } } fun progress(obj: MyClass) { obj.test() }
最后,关注【码上加油站】微信公众号后,有疑惑有问题想加油的小伙伴可以码上加入社群,让我们一起码上加油吧!!!
浙公网安备 33010602011771号