0
我看到了這個問題:Scala: public static final in a class而這其中,太:http://www.scala-lang.org/old/node/9178但我不能讓它工作...如何在Scala構造器中使用「static final constant」?
我想要做的就是斯卡拉相當於Java代碼的:
public class MyClass extends AnotherClass{
public static final String WSDL = MyConfig.getProp("...");
public static final String SERVICES = {new QName(MyConfig.getProp("..."))};
public MyClass(){
super(WSDL,SERVICES);
}
}
我想什麼,基於什麼我搜索,方法是:
class MyClass (wsdl: String, services: Array[QName])(implicit val config:MyConfigClass) extends AnotherClass(wsdl,services:_*){
val WSDL:String = config.getProp("...")
val SERVICES: Array[QName] = Array(new QName(config.getProp("...")))
def this() {
this(WSDL,SERVICES:_*)
}
}
但Scala的IDE告訴我,WSDL和服務是未知的。在這裏聲明WSDL和SERVICES不應該等同於Java MyClass.WSDL訪問?
感謝您的任何解決辦法,對於任何解釋,使我的Scala更易消化...
謝謝,但在這種情況下,我有一個問題...... WSDL不只是一個硬編碼字符串,但像config.getProp東西(」一個屬性「),其中config是一個在我的App對象中初始化的隱式值。由於我看到的對象不能用任何參數初始化,我怎樣才能將我的配置值傳遞給伴隨對象?我將編輯我的問題... – Cheloute
@Cheloute你如何在Java中使用靜態最終變量來做到這一點?然後你也不能依賴傳遞給你的構造函數的東西。 –
@ Jasper-M你是對的,我的問題是現在我的配置實現..好吧,這個解決方案是好的,所以!謝謝! – Cheloute