Kotlin 嵌套类和内部类

文章目录

嵌套类

在类的内部可以定义其他的类,这是类结构上的嵌套(Nested)。

kt 复制代码
class Container {
    val name = "Container"

    class NestedClass {
        fun getter() {
            // 此时无法访问外部类的成员
            // name
        }
    }
}

Note:接口也能嵌套。

内部类

内部类同样位于类内部,使用inner修饰。除了结构上嵌套外,内部类还能访问外部类的成员。

kt 复制代码
class Container {
    val name = "Container"

    inner class InnerClass {
        fun getter() {
            // 此时可以访问外部类的成员
            name
        }
    }
}

内部类只能使用外部类的对象调用实例化(普通嵌套类此限制):

kt 复制代码
fun main() {
    // Container.InnerClass() 不能使用
    Container().InnerClass()
}
相关推荐
zfoo-framework17 小时前
kotlin
android·开发语言·kotlin
冬奇Lab2 天前
【Kotlin系列14】编译器插件与注解处理器开发:在编译期操控Kotlin
android·开发语言·kotlin·状态模式
冬奇Lab3 天前
【Kotlin系列13】DSL设计:构建类型安全的领域语言
开发语言·安全·kotlin
MengFly_3 天前
Compose中rememberUpdatedState的作用
android·kotlin·compose
冬奇Lab4 天前
【Kotlin系列12】函数式编程在Kotlin中的实践:从Lambda到函数组合的优雅之旅
android·开发语言·kotlin
糖猫猫cc4 天前
Kite:Kotlin/Java 通用的全自动 ORM 框架
java·kotlin·springboot·orm
冬奇Lab5 天前
【Kotlin系列11】协程原理与实战(下):Flow与Channel驯服异步数据流
android·开发语言·kotlin
zh_xuan5 天前
kotlin 延迟属性
开发语言·kotlin
大大祥5 天前
Android FFmpeg集成
android·ffmpeg·kotlin·音视频·jni·ndk·音视频编解码
移幻漂流5 天前
Kotlin 完全取代 Java:一场渐进式的技术革命(技术、成本与综合评估)
java·开发语言·kotlin