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常见技术分享-02-相对于Java 的核心优势-协程
java·开发语言·kotlin
aqi0013 小时前
FFmpeg开发笔记(九十八)基于FFmpeg的跨平台图形用户界面LosslessCut
android·ffmpeg·kotlin·音视频·直播·流媒体
冬奇Lab14 小时前
【Kotlin系列01】Kotlin快速入门:环境搭建与Hello World
android·kotlin·android studio
儿歌八万首1 天前
Jetpack Compose 动画实战:让你的 UI 动起来
android·kotlin·动画·compose
stevenzqzq2 天前
Android Koin 注入入门教程
android·kotlin
zFox2 天前
三、Kotlin协程+异步加载+Loading状态
kotlin·android jetpack·协程
shuangrenlong2 天前
笔记kotlin注意的点
kotlin
Android-Flutter2 天前
android compose LazyVerticalGrid上下滚动的网格布局 使用
android·kotlin
Android-Flutter2 天前
android compose LazyHorizontalGrid水平滚动的网格布局 使用
android·kotlin