繁体   English   中英

Scala:在Scala中使用Java中的多个构造函数

[英]Scala: Use multiple constructors from Java in Scala

我想在Scala中使用用Java编写的Jar。

有些类具有多个构造函数,例如:

public LabeledDock(Parent<? super Labeled> parent, int index, Class<?> subtype){}

public LabeledDock(Parent<? super Labeled> parent, Class<?> subtype)

因此,第一个构造函数有3个输入,第二个只有2个输入。

如果我想以这种方式在Scala中使用这些构造函数:

val button = new LabeledDock(scene.asParent(), classOf[Button])

Scala告诉我

如果我用

val button = new LabeledDock(scene.asParent(), 0, classOf[Button])

一切正常。 所以我认为在第一个变量声明中,Scala不知道他应该使用哪个构造函数,因为它们彼此相似。 我如何只用2个输入使用构造函数,而不用添加第三个输入。

谢谢你的帮助!

现在,在一个同事的帮助下,我解决了这个问题。

代替

classOf[Button]

我必须使用

classOf[Button].asInstanceOf[Class[_]]

有了它,就可以了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM