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

相关推荐
低调小一8 小时前
深度复盘:KMP 在字节跳动的工程化落地实践
android·kotlin
zh_xuan10 小时前
kotlin 密封类
开发语言·kotlin
移幻漂流16 小时前
Kotlin 如何解决 Java 的核心痛点:现代语言特性的深度剖析
java·python·kotlin
zhangphil18 小时前
Kotlin实现Glide/Coil图/视频加载框架(二)
android·kotlin
Rubin智造社19 小时前
见路不走:从《天幕红尘》读懂2026年的创新密码
android·开发语言·kotlin
冬奇Lab2 天前
【Kotlin系列08】泛型进阶:从型变到具体化类型参数的类型安全之旅
android·开发语言·windows·安全·kotlin
zh_xuan2 天前
kotlin 尾随Lambda表达式函数的常用简写
开发语言·kotlin
zh_xuan3 天前
kotlin对集合数据的操作
开发语言·kotlin
zh_xuan3 天前
kotlin函数的一些用法
开发语言·kotlin
aqi003 天前
FFmpeg开发笔记(九十九)基于Kotlin的国产开源播放器DKVideoPlayer
android·ffmpeg·kotlin·音视频·直播·流媒体