之间有什么区别
object Application extends App {
println("Hello World")
}
和
object Application {
def main(args: Array[String]): Unit = {
println("Hello World");
}
}
Answers:
App特质是创建可执行Scala程序的便捷方式。与主要方法的区别在于(除了明显的语法差异之外),App特质使用了延迟的初始化功能。
从2.9的发行说明中(请参阅http://www.scala-lang.org/old/node/9483)
继承了App特性的对象将利用Scala 2.9的延迟初始化功能将整个主体作为继承的main方法的一部分执行。
App方案的另一个新功能是现在可以通过args值(从trait App继承来)访问命令行参数。
main
方法和无法按预期执行机构。进入main后在某个时候执行吗?
main
在App
女巫特质中有一种方法可以混入您的Application
对象中。除了延迟初始化是执行Application
对象主体的事实之外,没有任何魔术可言。