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

原创文章,作者:carmelaweatherly,如若转载,请注明出处:https://blog.ytso.com/191793.html

(0)
上一篇 2021年11月14日
下一篇 2021年11月14日

相关推荐

发表回复

登录后才能评论