0

引数や括弧のないメソッド定義を理解しようとしています。メインメソッドでは、最後のメソッドは機能しません。意味的または構文的にその説明は何ですか?

class X(x:Int){
  def getX1() = x;
  def getX2 = x;
}

object X {
  def main(args: Array[String]) {
    val x = new X(123)
    println(x.getX1)//works
    println(x.getX1())//works
    println(x.getX2) //works
    println(x.getX2())//does not work
  }
}
4

1 に答える 1

0

それは簡単です。() で定義されたメソッドがある場合は、() の有無にかかわらず呼び出すことを選択できます。一方、() なしで定義されたメソッドがある場合は、() なしでのみ呼び出すことができます。私にとって、() を使用して副作用を表すのは良い習慣です。

于 2013-08-18T15:20:24.397 に答える