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()
}
相关推荐
ForteScarlet2 小时前
从 Kotlin 编译器 API 的变化开始: 2.3.20
android·开发语言·后端·ios·开源·kotlin
hnlgzb5 小时前
请详细解释一下MVVM这个设计模型
android·kotlin·android jetpack·compose
夏沫琅琊7 小时前
Kotlin 基础(一)
kotlin
夏沫琅琊9 小时前
Android API 发送短信技术文档
android·kotlin
夏沫琅琊9 小时前
Android 彩信导出技术文档
android·kotlin
hnlgzb21 小时前
安卓app kotlin语法,Hilt是什么东西?
android·开发语言·kotlin
simplepeng1 天前
Kotlin 协程桥接(suspendCoroutine):将任意基于回调的 Android API 转换为挂起函数
kotlin
zhangphil1 天前
Kotlin高阶函数作为参数与Java普通接口interface等效性
java·kotlin