可见性修饰符
public/internal/protected/private、模块级 internal
可见性修饰符
Kotlin 的可见性默认是 public——还有个 Java 没有的 internal(模块内可见)。
学完本章你将: 掌握 public/internal/protected/private、模块概念。
四种修饰符
kotlin
// public(默认)——随处可见
val publicVar = 1
// internal——同模块内可见
internal val internalVar = 2
// private——同文件内可见
private val privateVar = 3
// protected——同 private + 子类可见(不能用于顶层)
open class Parent {
protected val protectedVar = 4
}
类成员可见性
kotlin
open class Outer {
public val a = 1 // 所有地方
internal val b = 2 // 同模块
protected open val c = 3 // 本类 + 子类
private val d = 4 // 仅本类
}
class Sub : Outer() {
override val c = 30 // ✅ protected 在子类可见
// val x = d // ❌ private 不可见
}
模块的概念
模块 = 一个 IDEA 模块 / Maven 项目 / Gradle 源码集
→ 编译在一起的一组 Kotlin 文件
internal = 在这个模块内任意访问