和 Java 不同的是,Kotlin 的可见性修饰符除了 private
、protected
和 public
之外,还多了一个 internal
。
在 Kotlin 中,不管是类、包还输属性方法,如果不指定修饰符,默认是 public
的。
函数、属性和类、对象和接口直接在包内声明:
对于类内部成员来说:
注意
- Kotlin 中的外部类不能访问内部类的 private 成员
- 如果要覆盖一个 protected 成员,但并没有显式指定其可见性,那么它还是 protected 类型的
默认情况下,构造函数是 public 的,当然也可以修改它的可见性:
class Person private constructor(name:String,age:Int){
...
}