kotlin可見性關鍵字

在kotlin文件中修飾方法,默認爲public,不能用protected

private fun test1() {}
internal fun test3() {}
// public 爲默認
public fun test4() {}
// protected會報錯
protected fun test2() {}

fun main(args:ArrayList<String>){
    test1()
    test3()
    test4()
}

修飾屬性與修飾方法一樣
在類中也一樣

class Privage{
    public var num1 =1
    public fun test1(){}

    private var num2 =1
    private fun test2(){}

    protected var num3 =1
    protected fun test3(){}

    internal var num4 =1
    internal fun test4(){}
}

一個類要想被繼承,必須用open修飾,方法要想重寫也必須加open修飾

// 需要加open
open class Privage{
    public var num1 =1
    
    // 需要加open
    open public fun test1(){}
}

class son:Privage(){
    fun test(){
        test1()
        num1=3
    }

    override fun test1() {
        super.test1()
    }
}

接口和抽象類的方法默認是open的

interface test {
    // 默認open
    fun test1()
    // 默認open
    public fun test2()
}

abstract class abclass{
    // 默認open
    abstract fun test3()
}

class son : abclass(),test {
    override fun test3() {
        TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
    }
    
    override fun test1() {
        TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
    }

    override fun test2() {
        TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章