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()
}
相关推荐
赛恩斯13 小时前
kotlin 为什么可以在没有kotlin 环境的安卓系统上运行的
android·开发语言·kotlin
冬奇Lab17 小时前
【Kotlin系列06】面向对象进阶:从接口到多态,设计灵活可扩展的代码
android·kotlin·编程语言
MengFly_18 小时前
Compose案例 — Android 调用系统相机拍照
android·kotlin·compose
zh_xuan18 小时前
kotlin数据类用法
开发语言·kotlin
我命由我1234518 小时前
Android 开发 - FragmentPagerAdapter、Pair、ClipboardManager、PopupWindow
android·java·java-ee·kotlin·android studio·android-studio·android runtime
我命由我1234519 小时前
Android 开发 - 关于 startActivity 后立刻 finish、requestWindowFeature 方法注意事项
android·java·开发语言·java-ee·kotlin·android studio·android-studio
zFox1 天前
五、开始项目实战(搭建完整项目)
ui·kotlin
zh_xuan1 天前
kotlin对象表达式
开发语言·kotlin
我命由我123452 天前
Kotlin 开发 - Kotlin Lambda 表达式返回值
android·java·开发语言·java-ee·kotlin·android studio·android-studio