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()
}
相关推荐
fundroid13 小时前
Kotlin 协程:Channel 与 Flow 深度对比及 Channel 使用指南
android·kotlin·协程
移动开发者1号17 小时前
深入理解原子类与CAS无锁编程:原理、实战与优化
android·kotlin
移动开发者1号17 小时前
深入理解 ThreadLocal:原理、实战与优化指南
android·kotlin
Devil枫20 小时前
Kotlin高级特性深度解析
android·开发语言·kotlin
ChinaDragonDreamer20 小时前
Kotlin:2.1.20 的新特性
android·开发语言·kotlin
每次的天空1 天前
Android-自定义View的实战学习总结
android·学习·kotlin·音视频
移动开发者1号2 天前
使用 Android App Bundle 极致压缩应用体积
android·kotlin
移动开发者1号2 天前
构建高可用线上性能监控体系:从原理到实战
android·kotlin
恋猫de小郭2 天前
Meta 宣布加入 Kotlin 基金会,将为 Kotlin 和 Android 生态提供全新支持
android·开发语言·ios·kotlin
androidwork2 天前
深入解析内存抖动:定位与修复实战(Kotlin版)
android·kotlin