我想借助静态最终字段扩展scala中的父级。 父类没有无参构造函数。
我将在Java中使用的代码是:
class Child extends Parent{
public static final String param = "I_AM_NEEDED";
Child(){
super(param);
}
}
有没有办法在scala中执行此操作,例如
class Child( val param:String = "I_AM_NEEDED" ) extends Parent(param){
//code here
}
这样你就有了一个你无法改变的领域?
答案 0 :(得分:2)
在Scala中,静态字段保留在object
而不是class
。因此,要在Scala中复制Java行为,您应该创建一个存储了Child
的{{1}}伴随对象。然后你可以将它传递给param
构造函数:
Parent