这个问题太愚蠢......无论如何,我找不到正确的信息,因为我看到的每个Scala构造函数示例类都至少使用一个参数。
我希望将这个类从Java翻译成Scala:
public class SubscriptionConverter extends Converter {
public SubscriptionConverter() {
Context ctx = new InitialContext();
UserEJB userEJB = (UserEJB) ctx.lookup("java:global/teachernews/UserEJB");
}
(...)
}
所以我只有一个无参数构造函数。我在Scala中乱搞了这个(),但是我无法得到类似于上面工作的例子。 我如何在Scala中编写它?
答案 0 :(得分:11)
在类级别声明的任何语句都作为默认构造函数的一部分执行。所以你只需要做这样的事情:
class SubscriptionConverter extends Converter {
val ctx = new InitialContext
val userEJB = ctx.lookup("java:global/teachernews/UserEJB")
(...)
}
答案 1 :(得分:4)
@dbyrne涵盖了最重要的部分,但我会添加一些侧面细节。
def this() = ...
定义。与Java不同,每个辅助构造函数都必须委托给主构造函数。