Scala:你能用一个以上的构造函数重载一个构造函数吗?

时间:2016-02-22 20:36:19

标签: scala constructor overloading case-class

有没有办法用超过一行构造函数重载构造函数?似乎在重载的构造函数中放置任何多个语句会产生错误Application does not take parameters。例如,如果主构造函数采用String,则以下内容将起作用:

def this(num: Int) = {
  this(num.toString())
}

然而,以下内容不会:

def this(num: Int) = {
  val numAsString = num.toString()
  this(numAsString)
}

1 个答案:

答案 0 :(得分:2)

您可以按如下方式重写:

def this(num: Int) =
  this{
    val numAsString = num.toString
    numAsString
  }