Kotlin 对象

文章目录

对象表达式(匿名对象)

在 Kotlin 中可以使用object {}声明一个匿名的对象,我们无需声明这个对象的类:

kt 复制代码
fun main() {
    val any = object {
        fun greet() = print("Hi")
    }

    any.greet()
}
复制代码
Hi

在匿名对象中,我们 能声明抽象成员。

匿名对象可以继承自类或接口,默认情况下它的类型是Any,继承后它将可以是所继承的所有类型(如果显式声明其类型,它将是声明的类型):

kt 复制代码
open class Greeter {
    fun greet() = print("Hi")
}


interface Runnable {
    fun run()
}


fun main() {
    val any = object: Greeter(), Runnable {
        override fun run() = println("Run")
    }

    any.run()
    any.greet()
}
复制代码
Run
Hi

对象的声明

我们可以使用object,像定义类class那样定义一个对象:

kt 复制代码
fun interface Runnable {
    fun run()
}

        
object Greeter: Runnable {
    fun greet() = print("Hi")
    
    
    override fun run() = println("Run")
}


fun main() {
	Greeter.run()
    Greeter.greet()
}
复制代码
Run
Hi

对象 有构造函数,因为它 可被实例化。

对象中 能声明抽象方法,因为它可被继承。

相关推荐
ROO_KIE3 小时前
[Java、C语言、Python、PHP、C#、C++]——深度剖析主流编程语言的核心特性与应用场景
kotlin
alexhilton4 小时前
Kotlin互斥锁(Mutex):协程的线程安全守护神
android·kotlin·android jetpack
太过平凡的小蚂蚁14 小时前
Kotlin 异步数据流三剑客:Flow、Channel、StateFlow 深度解析
android·kotlin
铉铉这波能秀1 天前
如何在Android Studio中使用Gemini进行AI Coding
android·java·人工智能·ai·kotlin·app·android studio
爱学啊2 天前
3.Android Compose 基础系列:在 Kotlin 中创建和使用函数
kotlin·compose·android compose开发基础
低调小一2 天前
LRU缓存科普与实现(Kotlin 与 Swift)
开发语言·缓存·kotlin
雨白2 天前
深入理解协程的运作机制 —— 调度、挂起与性能
android·kotlin
xqlily2 天前
Kotlin:现代编程语言的革新者
android·开发语言·kotlin
消失的旧时光-19432 天前
人脸跟随 ( Channel 实现(缓存5条数据 + 2度过滤 + 平滑移动))
android·java·开发语言·kotlin