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()
}
相关推荐
小书房1 天前
Kotlin协程的运行原理
android·开发语言·kotlin·协程
赏金术士1 天前
JetPack Compose 基础核心模块(一)
android·kotlin·android jetpack·compose
alexhilton1 天前
如何用Perfetto来对启动优化去伪存真
android·kotlin·android jetpack
赏金术士1 天前
Kotlin 从入门到进阶 之函数模块(核心基础)(二)
android·开发语言·kotlin
赏金术士2 天前
Kotlin 从入门到进阶 之作用域函数 & 优雅写法(五)
android·开发语言·kotlin
赏金术士2 天前
Kotlin 从入门到进阶 之协程 Flow 模块(九)
开发语言·kotlin·php
JohnnyDeng942 天前
Kotlin 协程原理与 Android 中的最佳实践
android·kotlin·协程
赏金术士2 天前
Kotlin 从入门到进阶 之委托 模块(六)
python·微信·kotlin
帅次2 天前
LazyColumn 懒加载、items 与 key
android·flutter·kotlin·android studio·webview
赏金术士2 天前
Kotlin 从入门到进阶 之泛型 模块(七)
android·开发语言·kotlin