【发布时间】:2013-07-07 22:14:28
【问题描述】:
假设KeyAdapter 是一个抽象类,其中包含几个可以被覆盖的方法。
在java中我可以做到:
KeyListener keyListener = new KeyAdapter() {
@Override public void keyPressed(KeyEvent keyEvent) {
// ...
}
};
如何在 Kotlin 中做同样的事情?
【问题讨论】:
-
我没有投反对票,但您的问题表明研究工作很少。对 kotlin 中的匿名类 进行简单的 Google 搜索会出现 this page,其中讨论了 - 在所有事情中 - 如何创建 Kotlin 类比匿名内部类。
-
我也是刚开始使用 Kotlin。这个问题是一个非常合理的谷歌搜索的第一个命中。令我非常困惑的是,问题中的 KeyAdapter 很可能是 java.awt.event.KeyAdapter,它是一个具有 3 个方法的抽象类,而简单的
val k: KeyAdapter = KeyAdapter { println("Hello, world!") }将不起作用。 (但是我一直在寻找 lambda 语法。)我想我会寻找具有这个确切标题的另一个问题,但是一个更好的公式化问题并将这个问题与评论链接起来...... -
@PeterLamberg 这不是 java.awt 它是 Intellij 插件 API。
-
我不明白为什么这被标记为太简单了。这个问题得到了很多人的支持,这意味着很多人都面临这个问题。由于语言的差异,谷歌的第一击是否是解决方案并不明显。我浏览了官方文档,但这个关于 SO 的问题清除了它。
标签: java abstract-class kotlin