public : 对所有人开放。Kotlin的类、函数、变量不加开放性修饰符的话,默认就是public类型。
internal : 只对本模块内部开放,这是Kotlin新增的关键字。对于App开发来说,本模块便是指App自身。
protected : 只对自己和子类开放。
private : 只对自己开放,即私有。

fun main() {
    var v1:Test2 = Test2()
    v1.print1()
    v1.print2()
}

// 被继承前面必须增加open
open class Test(){
    fun print1(){
        println("Test fun1")
    }
    
    // 子类才能重构
    open fun print2(){
        println("Test fun2")
    }
}

class Test2:Test(){
    // 因为父类没设置open所以不能重构
//     override fun print1(){
//         println("Test2 fun1")
//     }
    
    override fun print2(){
        println("Test2 fun2")
    }
}

标签: none

评论已关闭