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()
}
相关推荐
花开路口17 小时前
深入理解 Java/Kotlin 协变与逆变
java·kotlin
mmsx18 小时前
Android 一个设备多个 App 抢:跨进程共享服务的架构设计
android·kotlin·app
hai_android18 小时前
深入理解 Java 的四种引用:强引用、软引用、弱引用、虚引用
android·kotlin·android jetpack
ai2work6 天前
ch23 综合复刻:从零做一个最小可用版本(capstone)
kotlin
ai2work6 天前
ch21 签名、校验与发版
kotlin
JMchen6 天前
属性动画原理与高级动画实现
android·kotlin·canvas
Android打工仔6 天前
Kotlin 协程源码解析:协程是如何切换线程的?
android·kotlin
ai2work6 天前
附录 D 速查索引与阅读指南
kotlin
ai2work6 天前
ch22 诊断方法论:三个真实事故的根因分析
kotlin
Kapaseker6 天前
你有搞明白 Volatile 什么意思吗?
android·kotlin