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()
}
相关推荐
帅次4 分钟前
Kotlin Flow 与 StateFlow:UI 单向数据流基础
开发语言·ui·kotlin·stateflow·onlifecycle
Kapaseker2 小时前
Sequence 一定比 List 快?等等,我们先从基础讲起
android·kotlin
怣疯knight17 小时前
kotlin安卓应用打包编译卡死的可能原因
android·kotlin
plainGeekDev17 小时前
NullPointerException → Kotlin 空安全
android·java·kotlin
1024+1 天前
YOLO 转 RKNN 识别率降低调优操作手册(新手篇)
android·yolo·kotlin
帅次2 天前
Kotlin 与 Java 互操作:混合工程里的平台类型与 API 边界
java·开发语言·kotlin·suspend·nullable
plainGeekDev2 天前
kapt 替换为 KSP
android·java·kotlin
蜡台2 天前
通过Gradle脚本声明更改Java变量
android·java·开发语言·python·kotlin·gradle·groovy
杉氧2 天前
Ktor 全栈之路 (5):JWT 认证全流程实战 —— 打造安全通信闭环
android·架构·kotlin
alexhilton2 天前
MVI模式的完整历史、误解和现代Android范式
android·kotlin·android jetpack