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()
}
相关推荐
plainGeekDev2 小时前
Gradle 写法 → Kotlin DSL
android·java·kotlin
Android-Flutter1 天前
android compose shadow 阴影 使用
android·kotlin·compose
Android-Flutter2 天前
android compose 自定义Painter绘制图形 使用
android·kotlin·compose
Android-Flutter2 天前
android compose Brush 渐变和着色器 使用
android·kotlin·compose
Flynt2 天前
Room 3.0 包名重构 + KMP 迁移:我把项目升级踩了个遍
android·数据库·kotlin
TechNomad2 天前
Kotlin函数详解与使用示例
android·kotlin
alexhilton2 天前
将应用迁移到Navigation 3:痛点、加班和紧急修复
android·kotlin·android jetpack
唐青枫3 天前
Kotlin 运算符重载详解:为什么 a += b 有时改对象,有时换对象?
kotlin
plainGeekDev3 天前
Gson → kotlinx.serialization
android·java·kotlin