kotlin when interface‘s field set/get

kotlin when interface's field set/get

Kotlin 复制代码
interface Listener {
    var num: Int
    fun number(n: Int)
}

class MyListener : Listener {
    override var num: Int = -1
        get() = field
        set(value) {
            field = value
        }

    override fun number(n: Int) {
        num = n
    }
}

fun main(args: Array<String>) {
    var l1 = MyListener()
    l1.number(1)

    var l2 = MyListener()
    l2.number(2)

    var ls = ArrayList<MyListener>()
    ls.add(l1)
    ls.add(l2)

    for (l in ls) {
        when (l) {
            l1 -> {
                println("l1->{${l1.num}}")
            }

            l2 -> {
                println("l2->{${l2.num}}")
            }

            else -> {
                println("else->${l.num}")
            }
        }
    }
}

l1->{1}

l2->{2}

kotlin类成员变量字段field的get/set_zhangphil的博客-CSDN博客kotlin类成员变量字段field的get/set。https://blog.csdn.net/zhangphil/article/details/129233934

相关推荐
饕餮争锋14 小时前
Kotlin: [Internal Error] java.lang.NoSuchFieldError: FILE_HASHING_STRATEGY
java·kotlin
用户693717500138414 小时前
14.Kotlin 类:类的形态(一):抽象类 (Abstract Class)
android·后端·kotlin
G_dou_1 天前
KMP & OpenHarmony 实现二分查找
kotlin·鸿蒙
方白羽1 天前
Android多层嵌套RecyclerView滚动
android·java·kotlin
方白羽2 天前
Kotlin遇上Java 静态方法
android·java·kotlin
用户69371750013842 天前
11.Kotlin 类:继承控制的关键 ——final 与 open 修饰符
android·后端·kotlin
用户69371750013842 天前
10.Kotlin 类:延迟初始化:lateinit 与 by lazy 的对决
android·后端·kotlin
KotlinKUG贵州2 天前
SpringGateway-MVC对SSE转发出现阻塞响应问题的分析和解决
spring·spring cloud·kotlin
zhangphil2 天前
Android宽高不均等Bitmap缩放为指定宽高FitCenter到正方形Bitmap,Kotlin
android·kotlin
alexhilton2 天前
深入理解withContext和launch的真正区别
android·kotlin·android jetpack