kotlin抽象クラスの初期化
1346 ワード
Javaを使ってAndroidを開発する過程で多くの匿名クラス、抽象クラスが使われていますが、kotlinではどのように表現されていますか?
次はkotlinの表現です.
同様に、抽象クラスのインスタンスを取得する必要がある場合は、次のようにします.
kotlinでは匿名クラスの概念を除去し,オブジェクト式およびオブジェクト宣言という言い方を用いて要約した.さっきの抽象クラスの使用方法のようにオブジェクト式であり、
//java
ParamsString map = new ParamsString("user.base.login")
.add("mobile", name)
.add("password", password);
sendRequest(map, new HttpCallback() {
@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() {
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
から継承されている.