【发布时间】:2019-11-25 10:15:26
【问题描述】:
我在 Scala 中使用一个 Java 库,它从类定义中生成 D-Bus 接口。它适用于一个简单的 Scala 类:
@DBusInterfaceName("me.TestInterface")
trait TestInterface extends DBusInterface {
def changeSomething(thing: String): Unit
}
我需要添加一个子类来实现 D-Bus 信号:
@DBusInterfaceName("me.TestInterface")
trait TestInterface extends DBusInterface {
def changeSomething(thing: String): Unit
final class SomethingChanged(thing: String) extends DBusSignal("SomethingChanged")
}
当我这样做时,我在我的 D-Bus 接口上获得了一个提取方法 $init$,大概是因为这是由 Scala 添加的。
是否可以在 Scala 中生成一个没有这个额外 $init$ 方法的子类?
我可以清楚地用 Java 编写并导入它,但我宁愿坚持纯 Scala。
【问题讨论】:
-
为什么?有什么问题?
-
让它成为一个类而不是一个特征?
-
@cchantep
$init$方法成为已发布的 D-Bus 接口的一部分,即使它不是我的接口方法之一。