所以在Java上我喜欢直接在像这样的局部变量上实现一个接口。
private SensorEventListener sensorEventListener = new SensorEventListener() {
@Override
public void onSensorChanged(SensorEvent event) {
//implement here
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
//implement here
}
};
以后我可以直接添加该侦听器,然后能够删除侦听器。
我试图在Kotlin上实现相同的想法,拥有一个实现接口的var,而不必定义一个扩展它的新类。
有可能吗?什么是语义?
答案 0 :(得分:3)
您创建object
实现接口,代码
var sensorEventListener = object : SensorEventListener {
override fun onSensorChanged(event : SensorEvent) {
}
override fun onAccuracyChanged(sensor : Sensor, accuracy : Int) {
}
}