Scala

时间:2015-09-22 09:15:12

标签: scala

我不知道我错过了什么,可能是它的小事,但这是问题

println()被无序调用。 即我得到的输出是

第二行。

第一行

不应该逆转吗?

我知道“第二行”不是主要方法,但是原因是什么, 我试着搜索,但无法到达底部。

object oneToTen {
    def main(args: Array[String]): Unit = {
    println("Line one")
  }

  println("Line two.")
}

3 个答案:

答案 0 :(得分:8)

在Scala中,正文中的所有内容都不是变量声明,它是构造函数的一部分。 由于oneToTen是一个scala对象,因此创建了它的一个实例,然后调用main方法。

答案 1 :(得分:6)

是的,这个观察是非常正确的。通过构造对象,执行每个对象初始化器。在方法体外部执行的每个方法调用都可以被视为“构造函数”。

答案 2 :(得分:5)

这就是Scala类/对象应该如何工作的方式。直接在类/对象体中声明的所有内容都将在实例化时调用。