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

相关推荐
Kapaseker8 分钟前
破坏性更新 - 解读 Jetpack Compose 1.12
android·kotlin
Android-Flutter8 小时前
android LeakCanary 工作原理 详解
android·kotlin
Android-Flutter9 小时前
android 自定义view 详解
android·kotlin
Android打工仔10 小时前
从 finally 理解程序的控制流:它为什么不是 catch 后面的代码?
android·kotlin
YXL1111YXL10 小时前
续体和状态机 —— suspend 函数的 CPS 变换
android·kotlin
alexhilton12 小时前
千万别误用Android Skills
android·kotlin·android jetpack
必须会一定会13 小时前
GLM-5.3 迁移实战:强制思考、1M 上下文与官方编程基准
android·开发语言·kotlin
阿pin1 天前
Android随笔-kotlin withContext
android·kotlin·withcontext
Android-Flutter1 天前
android 动画详解
android·kotlin
Android-Flutter2 天前
android WMS 详解(二)
android·kotlin