所以,我今天刚开始学习Scala,并且做得还不错,但是我遇到了这个问题......
我需要在 Scala 中执行此操作,但在整理时遇到困难:
final Filter<GameObject> filter = new Filter<GameObject>() {
public boolean accept(GameObject o) {
...
}
};
我有 ATM,但它甚至无法编译:
val filter = new Filter[GameObject] {
override def accept(o: GameObject) {
...
}
}
提前致谢。
编辑:
这是到目前为止的整个对象:
object Targeter extends LoopTask {
val filter = new Filter[GameObject] {
override def accept(o: GameObject) = { true }
}
// Overriding a method in the LoopTask class
override def loop() = {
100
}
}
最佳答案
我认为您错过了返回类型:
override def accept(o: GameObject) = {...}
或
override def accept(o: GameObject): Boolean = {...}
这两个变体是相同的(假设您实际上在此方法的主体中返回一些 boolean 值)。
<小时/>如果您像这样定义accept
方法:
override def accept(o: GameObject) {...}
那么它与:
相同override def accept(o: GameObject): Unit = {...}
而Unit
相当于java中的void
。
关于java - 我该如何在 Scala 中做到这一点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4916520/