美文网首页Kotlin开发指南Kotlin专题Kotlin
Kotlin介绍系列(二)基本语法(4)

Kotlin介绍系列(二)基本语法(4)

作者: Phoobobo | 来源:发表于2017-11-04 15:45 被阅读112次

    可见性修饰

    Kotlin有四种可见性修饰符:private, protected, internal, public
    用法见下面表格:

    修饰符 顶级(声明在package底下) 类级(声明在一个类里)
    private 当前文件可见 只当前类可见
    protected (不可直接在包下使用此声明) 当前类及其子类可见
    internal 当前module可见 当前module可见
    public 随处可见 随处可见

    值得注意的是,如果不做修饰,默认则是public

    例子:

    • 顶级
    // file name: example.kt
    package foo
    private fun foo() {} // visible inside example.kt
    public var bar: Int = 5 // property is visible everywhere
    private set // setter is visible only in example.kt
    internal val baz = 6 // visible inside the same module
    
    • 类级
    open class Outer {
        private val a = 1
        protected open val b = 2
        internal val c = 3
        val d = 4 // public by default
        protected class Nested {
            public val e: Int = 5
        }
    }
    class Subclass : Outer() {
        // a is not visible
        // b, c and d are visible
        // Nested and e are visible
        override val b = 5 // 'b' is protected
    }
    class Unrelated(o: Outer) {
        // o.a, o.b are not visible
        // o.c and o.d are visible (same module)
        // Outer.Nested is not visible, and Nested::e is not visible either
    }
    

    可继承声明

    继承修饰符open(与java的final相对),使用Kotlin声明一个可以被继承的类必须冠以open

    相关文章

      网友评论

        本文标题:Kotlin介绍系列(二)基本语法(4)

        本文链接:https://www.haomeiwen.com/subject/nglauxtx.html