4
如果我只对onSee
感兴趣而不在乎其他事件怎么办?我可以至少省略没有返回值的方法吗?我可以省略我在Kotlin中不使用的界面方法吗?
interface EventHandler
{
fun onSee()
fun onHear()
fun onSmell()
fun onTouch()
fun onAwake()
fun onSleep()
}
fun addEventHandler(handler:EventHandler)
{
}
fun Main()
{
addEventHandler(object:EventHandler
{
override fun onSee()
{
print("I see.")
}
})
}
谢谢。我不知道这件事。如果我是界面的作者,这将会很有用。但是当使用现有的Android/Java SDK时,它不能使用,可以吗? –
@DamnVegetables在这种情况下,通过DefaultEventHandler(){...}'写一个默认实现'class DefaultEventHandler:EventHandler {...}'并委托给它'object:EventHandler。 – ephemient
@DamnVegetables我编辑了我的答案以满足您的顾虑。 –