scalaでコンストラクタの定義方法
コード
// 基本コンストラクタ
// 基本コンストラクタは、クラス宣言で定義する(クラスのパラメータとして定義する)
class Hoge(s: String, n: Int) {
  // 補助コンストラクタ(基本コンストラクタをオーバーロードする場合に定義する。)
  // 補助コンストラクタの最初のステップでは、必ず他のコンスとラクアを呼び出す必要がある。
  // この仕様に従うと、最後には必ず基本コンストラクタが呼び出される。
  def this(s: String) = this (s, 0)
  def this(n: Int) = this ("hoge", n)
  // コンストラクタの変数は、privateなインスタンス変数となる
  override def toString = s + ":" + n
}
object Hoge {
  def main(args: Array[String]) {
    // 基本コンストラクタに指定した値が出力される。
    println(new Hoge("string", 1))
    // 補助コンストラクタに指定した値と、補助コンストラクタで指定しているデフォルト値が出力される。
    println(new Hoge("hoge"))
    println(new Hoge(-1))
  }
}
実行結果
string:1
hoge:0
hoge:-1