假设我在 java 中有以下类:
class A
{
public A()
{
init();
}
void init()
{
System.out.println("A:init()");
}
}
然后我在 scala 中继承它,如下所示:
class B extends A {
var x = 3
override def init(): Unit = println("init: x = " + x)
}
当我构造一个 B 的实例时,我的 init 覆盖中的 x 的值当然不会是 3,因为它在那个阶段还没有被初始化。如果我无法更改 java 类,有人可以在这里推荐最佳方法,以确保在调用 init() 时已初始化我的类字段。
谢谢
德斯