1. 程式人生 > >Kotlin中的使用技巧

Kotlin中的使用技巧

kotlin kotlin的匿名類 kotlin語法

問題
相信大家很多時候都有用到匿名內部類,完成一些操作邏輯;例如:網絡數據回調、開啟子線程、刷新UI等;
使用原生java開發很方便,就是直接new個對象,實現/重寫必要的函數;但是在kotlin中是不支持直接實例化抽象類的。

例如:
abstarct class TestClass implements Runnable{
    public void test(){}
}
原生java實現
new Thread(new TestClass(){
    public void run(){
    }
}).start();

kotlin實現(錯誤的)
Thread(TestClass(){
    override fun run() {
    }
    override fun test() {
        super.test()
    }
}).start()

kotlin的解決方法:(主要是object關鍵字的使用)

Thread(object: TestClass(){
    override fun run() {
    }

    override fun test() {
        super.test()
    }
}).start()

備註:Kotlin文檔中的解釋http://kotlinlang.org/docs/reference/object-declarations.html

Kotlin中的使用技巧