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 回答