我不知道我错过了什么,可能是它的小事,但这是问题
println()被无序调用。 即我得到的输出是
第二行。
第一行
不应该逆转吗?
我知道“第二行”不是主要方法,但是原因是什么, 我试着搜索,但无法到达底部。
object oneToTen {
def main(args: Array[String]): Unit = {
println("Line one")
}
println("Line two.")
}
答案 0 :(得分:8)
在Scala中,正文中的所有内容都不是变量声明,它是构造函数的一部分。
由于oneToTen
是一个scala对象,因此创建了它的一个实例,然后调用main方法。
答案 1 :(得分:6)
是的,这个观察是非常正确的。通过构造对象,执行每个对象初始化器。在方法体外部执行的每个方法调用都可以被视为“构造函数”。
答案 2 :(得分:5)
这就是Scala类/对象应该如何工作的方式。直接在类/对象体中声明的所有内容都将在实例化时调用。