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()
}
相关推荐
alexhilton6 分钟前
2027 Android 开发者路线图:学习、面试与 AI
android·kotlin·android jetpack
灿飞屋2 小时前
Kotlin与Java虚拟机三:控制流
android·java·开发语言·后端·python·kotlin·安卓
唐青枫4 小时前
Kotlin 对象声明与对象表达式详解
kotlin
灿飞屋6 小时前
Kotlin与Java虚拟机四:函数
java·python·kotlin·安卓·android jetpack
金銀銅鐵1 天前
同一个 Hello World,Kotlin 和 Java 在字节码层面差在哪
jvm·后端·kotlin
Nerd(BUG版)2 天前
KMP学习day4--Kotlin空安全与泛型
学习·安全·kotlin
Nerd(BUG版)2 天前
KMP学习day5--Kotlin Flow异步流基础
开发语言·学习·kotlin
灿飞3 天前
Kotlin与Java虚拟机八:控制流与 when:卫语句、上下文相关解析与穷尽性
java·kotlin
灿飞4 天前
Kotlin与Java虚拟机七:空安全:把十亿美元的错误消灭在类型系统里
java·kotlin
俩个逗号。。5 天前
Kotlin flow 详解
android·开发语言·kotlin