kotlin中访问封闭作用内的变量

时间:2024-04-29 02:18:19

在java中,匿名对象访问封闭作用域内的变量,需要用final 声明变量在java8中,如果只是使用封闭作用域内的变量,该变量并不需要使用final,但是一旦修改值,就需要使用final 来声明变量.

fun main(arg: Array<String>) {
var n =
progress(object :MyClass(){
override fun test() {
if (n==){
println("success")
n=//可以修改值
print(n)
}else{
print("err")
} }
})
} open class MyClass {
open fun test() { }
} fun progress(obj: MyClass) {
obj.test()
}