Kotlin 可见性修饰符

2019-07-26  本文已影响0人  wind_sky

可见性修饰符是非常基本的知识,为什么还要单拿出来说呢?因为我们在使用Kotlin 时都会和Java 进行比较记忆或者互操作,但是在可见性修饰符这里就和Java 有一些不同,记录一下,避免出坑。

Kotlin 中 类、对象、接口、构造函数、方法、属性和它们的 setter 都可以有 可见性修饰符。 (getter 总是与属性有着相同的可见性。)

在 Kotlin 中有这四个可见性修饰符:private、 protected、 internal 和 public。 如果没有显式指定修饰符的话,默认可见性是 public,而Java 中默认可见性是包级。

函数、属性和类、对象和接口可以在顶层声明,即直接在包内:

// 文件名:example.kt
package foo

fun baz() {}
class Bar {}

注意:要使用另一包中可见的顶层声明,仍需将其导入来。

类和接口

对于类内部声明的成员:

注意 与Java 中的不同:Kotlin 中外部类不能访问内部类的 private 成员。

如果你覆盖一个 protected 成员并且没有显式指定其可见性,该成员还会是 protected 可见性。

上面提到了\color{#0099ff}{模块},一个模块是编译在一起的一套 Kotlin 文件,它可以是:

上一篇 下一篇

猜你喜欢

热点阅读