Scala:在Scala中使用来自Java的多个构造函数
我想在Scala中使用一个Jar,它是用Java编写的 有些类具有多个构造函数,例如:Scala:在Scala中使用来自Java的多个构造函数,java,scala,constructor,Java,Scala,Constructor,我想在Scala中使用一个Jar,它是用Java编写的 有些类具有多个构造函数,例如: public LabeledDock(Parent<? super Labeled> parent, int index, Class<?> subtype){} Scala告诉我“对重载定义的不明确引用” 如果我使用 val button = new LabeledDock(scene.asParent(), 0, classOf[Button]) 一切正常。 因此,我认为对于第
public LabeledDock(Parent<? super Labeled> parent, int index, Class<?> subtype){}
Scala告诉我“对重载定义的不明确引用”
如果我使用
val button = new LabeledDock(scene.asParent(), 0, classOf[Button])
一切正常。
因此,我认为对于第一个变量声明,Scala不知道应该使用哪个构造函数,因为它们彼此相似。如何使用只有2个输入的构造函数,而不是添加第三个输入
谢谢你的帮助 现在,在同事的帮助下,我解决了这个问题 而不是
classOf[Button]
我必须使用
classOf[Button].asInstanceOf[Class[_]]
有了这个,它就可以正常工作。是否有更多的构造函数用于
LabeledDock
?是的,还有几个构造函数。如果我使用的构造函数只有两个参数,并且与另一个构造函数类似(关于输入参数),那么问题总是会发生。您能给出一个完整的构造函数列表吗?
classOf[Button]
classOf[Button].asInstanceOf[Class[_]]