1. 程式人生 > >Kotlin中內部類的寫法

Kotlin中內部類的寫法

今天寫專案的時候碰到一個問題,按照java的習慣在Kotlin中寫出如下程式碼:

class Outer{

    fun fOuter(){

    }

    class Inner{

        fun fInner(){

            fOuter()//此處編譯失敗,無法呼叫Outer類的方法

        }

    }

}

如果想在Inner類中呼叫fOuter()函式,編譯是不會通過的,我們習慣在java中使用Outer.this.fOuter()來呼叫,這個在Kotlin中是行不通的。

其實Kotlin裡自帶了關於內部類的關鍵字inner,正確的寫法如下:

class Outer{

    fun fOuter(){

    }

    inner class Inner{

        fun fInner(){

            fOuter()

        }

    }

}

這樣在Kotlin中內部類的方法能呼叫外部類的方法了