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()
}
相关推荐
唔6612 小时前
原生 Android(Kotlin)仅串口「继承架构」完整案例二
android·开发语言·kotlin
错把套路当深情12 小时前
Kotlin 全方向开发技术栈指南
开发语言·kotlin
stevenzqzq17 小时前
Kotlin 协程:withContext 与 async 核心区别与使用场景
android·开发语言·kotlin
stevenzqzq17 小时前
Kotlin 语法深度拆解:从 Java 匿名内部类到极简 Lambda 完整演进
java·kotlin·lambda
唔6617 小时前
原生 Android(Kotlin)仅串口「侵入式架构」完整案例三
android·架构·kotlin
唔6617 小时前
原生 Android(Kotlin)仅串口「可插拔架构」完整案例一
android·架构·kotlin
Kapaseker18 小时前
Compose 响应式布局要变天—入门 FlexBox
android·kotlin
alexhilton1 天前
在Compose中用Shader实现透明的粘稠元球效果
android·kotlin·android jetpack
jinanwuhuaguo2 天前
OpenClaw 2026.4.5 深度解读
android·开发语言·人工智能·kotlin·openclaw
默 语2 天前
OpenClaw“养龙虾“热潮降温的深层解析:从技术狂欢到理性回归
android·开发语言·kotlin