Kotlin中的使用技巧
阿新 • • 發佈:2018-05-02
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中的使用技巧