我有一個Scala的性狀值foo在Java類和Scala性狀不兼容的類型的混合
trait MyTrait{
val foo: String
def bar = foo
}
和提供FOO
public class MyJavaClass {
public final String foo = "hello";
}
一個Java類
現在我試着將它們混合
class MyScalaClass extends MyJavaClass with MyTrait {
}
它不會編譯
overriding value foo in trait MyTrait of type String; value foo in class MyJavaClass of type java.lang.String has incompatible type.
我已經嘗試了vals,vars和defs的所有看起來似乎合理的組合,但找不到任何編譯此配置的方法。
如何提供一個Java類的trait val?
你可以改變Java類嗎? –
我可以改變Java類 - 提供一個getter,但我寧願理解字段不工作的原因。 –