- 修饰符 不指定修饰符, 默认的是public
- Kt中修饰符有四个:private protected internal public
- private 仅仅在类的内部可以访问
- protected 在子类中可以访问
- internal 任何在模块内部类可以访问
- public 任何类都可以访问
open class TestOuter //open 表明这个类是可继承的
{
private val a: Int = 1
protected open val b = 2
internal val c = 3
var d = 4 //默认public
protected class Nested {
public val e: Int = 5
}
}
class SubClass : TestOuter() {
//编译报错 Cannot access 'a' : it is private in 'TestOuter'
// var para1 = TestOuter().a
override val b: Int //充血父类的常量
get() = super.b
val para = TestOuter().c //可以访问 c d
var para2 = TestOuter().d
val para3 = TestOuter.Nested().e //Nested类与e变量可以访问
}