为什么我们无法将类的可见性标记为" protected"在kotlin?

时间:2017-06-06 15:20:03

标签: class kotlin visibility protected access-modifiers

我是kotlin的新手我最近在kotlin学习了继承,然后我意识到我们无法将类的可见性标记为" protected"。如果我错了,请纠正我,还是有其他办法让班级受到保护?

1 个答案:

答案 0 :(得分:5)

您只能将protected标记为类的一部分,以便只能从派生类访问它们。您可以将protected标记为成员属性,成员函数或嵌套类:

open class X {
    protected val v: SomeType = someValue
    protected fun f() { }
    protected class Y { ... }
}

但是你不能将protected标记为不属于某个类的任何东西(例如顶级类或函数),因为修饰符没有意义:顶级实体不受继承,因此,没有可以访问它的派生类。