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

相关推荐
缘来的精彩4 小时前
Kotlin FragmentTransaction多容器管理多个fragment
android·kotlin·transaction·fragment
QING61814 小时前
Retrofit 与 Ktor 的简介和对比分析 !!!!
网络协议·kotlin·app
QING61814 小时前
Android LruCache 与 DiskLruCache 深度解析
android·kotlin·app
alexhilton16 小时前
Compose Multiplatform支持热重载(Hot Reload)了
android·kotlin·android jetpack
好奇的菜鸟17 小时前
Scoop + Kotlin 极简开发环境搭建指南
android·开发语言·kotlin
文件夹__iOS18 小时前
使用 Google ML Kit 实现图片文字识别(提取美国驾照信息)
kotlin
XH27620 小时前
kotlin协程详解
前端·kotlin
岸芷漫步1 天前
MQTT协议分析与应用
kotlin
缘来的精彩1 天前
Kotlin中实现多线程数据刷新
android·开发语言·kotlin
麋鹿原1 天前
Moshi三宗罪
android·kotlin