kotlin

【第8篇】Kotlin的可见性修饰符

2019-06-24  本文已影响0人  爱学习的蹭蹭

1、可见性修饰符

术语 说明
private 私有的
protected 受保护的
public 公共的
open 公开的
internal 内部的

2、包

// 文件名:example.kt
package foo
fun baz() { ... }
class Bar { ... }

例如:

// 文件名:example.kt
package foo
private fun foo() { …… } // 在 example.kt 内可见
public var bar: Int = 5 // 该属性随处可见
private set     // setter 只在 example.kt 内可见
internal val baz = 6    // 相同模块内可见

3、类和接口

注意 对于Java用户:Kotlin 中外部类不能访问内部类的 private 成员。如果你覆盖一个 protected 成员并且没有显式指定其可见性,该成员还会是 protected 可见性。

open class Outer {
    private val a = 1
    protected open val b = 2
    internal val c = 3
    val d = 4  // 默认 public
    protected class Nested {
        public val e: Int = 5
    }
}

class Subclass : Outer() {
    // a 不可见
    // b、c、d 可见
    // Nested 和 e 可见
    override val b = 5   // “b”为 protected
}
class Unrelated(o: Outer) {
    // o.a、o.b 不可见
    // o.c 和 o.d 可见(相同模块)
    // Outer.Nested 不可见,Nested::e 也不可见
}

4、构造函数

class C private constructor(a: Int) { …… }

5、### 局部声明

*局部变量、函数和类不能有可见性修饰符

6、模块


文章来自koltin英文社区
文章来自koltin中文社区

上一篇下一篇

猜你喜欢

热点阅读