如需转载请评论或简信,并注明出处,未经允许不得转载
Kotlin系列导读
Kotlin学习手册(一)类与继承
Kotlin学习手册(二)属性与字段
Kotlin学习手册(三)接口
Kotlin学习手册(四)内部类
Kotlin学习手册(五)函数
Kotlin学习手册(六)数组与集合
Kotlin学习手册(七)for循环
Kotlin学习手册(八)内联函数let、with、run、apply、also
Kotlin学习手册(九)空类型安全
Kotlin学习手册(十)带你真正理解什么是Kotlin协程
目录
内部类
.java
public class OutClass {
int a = 1;
public class InClass {
public void foo() {
OutClass.this.a = 2;
}
}
.kotlin
class OutClass {
var a = 1
inner class InClass {
fun foo() {
this@OutClass.a = 2
}
}
}
kotlin中的内部类默认就是静态的,不会持有外部类引用
匿名内部类
接口中只有一个方法
.java
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//do something
}
});
.kotlin
view.setOnClickListener {
//do something
}
或
var listenr = View.OnClickListener{
//do something
}
view.setOnClickListener(listenr)
接口中有多个方法
.java
valueAnimator.addListener(new Animator.AnimatorListener() {
@Override
public void onAnimationStart(Animator animator) {
}
@Override
public void onAnimationEnd(Animator animator) {
}java
@Override
public void onAnimationCancel(Animator animator) {
}
@Override
public void onAnimationRepeat(Animator animator) {
}
});
.kotlin
valueAnimator.addListener(object : Animator.AnimatorListener {
override fun onAnimationStart(animator: Animator) {
}
override fun onAnimationEnd(animator: Animator) {
}
override fun onAnimationCancel(animator: Animator) {
}
override fun onAnimationRepeat(animator: Animator) {
}
})
网友评论