Java 可见度有public, package, protected, private, 默认是 package。
Kotlin 也提供了4种:public, internal, protected, private, 默认是 public。
- private 表示只在这个类(以及它的所有成员)之内可以访问;
- protected 与 private 一样, 另外在子类中也可以访问;
- internal 在 本模块之内, 凡是能够访问到这个类的地方, 同时也能访问到这个类的 internal 成员;
- public 凡是能够访问到这个类的地方, 同时也能访问这个类的 public 成员。
一个模块(module)是指一起编译的一组 Kotlin 源代码文件。
参考
《Programming Kotlin》Stephen Samuel ,Stefan Bocutiu
《Kotlin in Action》Dmitry Jemerov,Svetlana Isakova