与 Java 不同的是,Kotlin 默认可见性修饰符是 public。
对于 Java 的可见性修饰符,可以说是基础知识了,校招面试必问题目之一:
修饰类的方法/成员变量:
修饰符 | 作用 |
---|---|
private | 仅在当前类内部可见 |
缺省 | 对同一 package 可见 |
protected | 对子类和同一 package 可见 |
public | 对所有类可见 |
Kotlin 可见性修饰符根据可能会出现在类、对象、方法、属性、构造方法和成员方法/变量的前面。根据出现的场景不同,具有不同的作用。下面我们分为包、类&接口、成员方法/变量来阐述。
包
对于一些直接声明在 .kt 文件内部且非类内部的方法、变量、对象,我们称之为“top-level” 声明,比如:
// 所在文件名称: dmeo.kt,以下为文件内容:
package foo
const val foo = "foobar"
fun baz() {
...}