kotlin入門-內部類

1.定義在類內部的類

2.與類成員有相似的訪問控制

3.默認是靜態內部類,非靜態用inner關鍵字

4.內部類調用外部成員使用this@外部成員類名.成員變量名

class Outside {

    var a: Int = 100

    /**
     * inner非靜態內部類
     */
    inner class Inside {

        val a: Int = 50

        fun test(): Unit {
            /**
             * 調用外部類的成員變量
             */
            println([email protected])
        }
    }
}

fun main(args: Array<String>) {
    var inside = Outside().Inside()
    inside.test()
}

-------------------------------------------------------------------------------------------------------------------

匿名內部類

1.沒有定義名字的內部類

2.類名編譯時生成類似  類名$1.class

interface Tv {
    fun wacthTv()
}

abstract class Radio {
    abstract fun listenRadio()
}


class View {
    var tv: Tv? = null
}

fun main(args: Array<String>) {

    val view = View()
    /**
     * 實現匿名方法以及集成其他類
     */
    view.tv = object : Tv, Radio() {
        override fun listenRadio() {

        }

        override fun wacthTv() {
        }
    }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章