Android知识Android技术知识Android开发经验谈

kotlin抽象类的初始化

2018-01-29  本文已影响0人  一涯

使用Java开发Android过程中有很多的匿名类,抽象类的使用,而kotlin中是怎么表达的呢?

//java代码
ParamsString map = new ParamsString("user.base.login")
        .add("mobile", name)
        .add("password", password);

sendRequest(map, new HttpCallback<LoginBean>() {

            @Override
            public void onSuccess(LoginBean o) {

            }

            @Override
            public void onErro(String erro) {
                super.onErro(erro);
            }
        });

下面是kotlin的表达:

//kotlin代码
var map = ParamsString("user.base.login").add("mobile", name).add("password", pwd)

sendRequest(map, object : HttpCallback<LoginBean>() {

            override fun onStart() {
                super.onStart()
            }

            override fun onSuccess(t: LoginBean?) {

            }

            override fun onErro(erro: String?) {

            }

        })

类似的如果你需要获取一个抽象类的实例,可以直接这样:

var test = object : TimerTask() {
        override fun run() {
            
        }
}

kotlin中去除了匿名类的概念,使用对象表达式以及对象声明这个说法来概括。
像刚才抽象类的使用方式就是一种对象表达式,可以理解为var test = object但是这个object不是一个简单的类,他有一个父类,他继承自TimerTask

上一篇下一篇

猜你喜欢

热点阅读