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()
}
复制代码

 

posted on   LoaderMan  阅读(254)  评论(0编辑  收藏  举报

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

喜欢请打赏

扫描二维码打赏

了解更多

点击右上角即可分享
微信分享提示