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()
}
相关推荐
Kapaseker14 小时前
破坏性更新 - 解读 Jetpack Compose 1.12
android·kotlin
Android-Flutter21 小时前
android LeakCanary 工作原理 详解
android·kotlin
Android-Flutter1 天前
android 自定义view 详解
android·kotlin
Android打工仔1 天前
从 finally 理解程序的控制流:它为什么不是 catch 后面的代码?
android·kotlin
YXL1111YXL1 天前
续体和状态机 —— suspend 函数的 CPS 变换
android·kotlin
alexhilton1 天前
千万别误用Android Skills
android·kotlin·android jetpack
必须会一定会1 天前
GLM-5.3 迁移实战:强制思考、1M 上下文与官方编程基准
android·开发语言·kotlin
阿pin2 天前
Android随笔-kotlin withContext
android·kotlin·withcontext
Android-Flutter2 天前
android 动画详解
android·kotlin
Android-Flutter2 天前
android WMS 详解(二)
android·kotlin