Scala提供了特质scala.Application,能够减小一些输入工做。尽管如今所学的知识还不足以弄懂它的工做原理,不过咱们认为了解一下仍是有必要的。如例:数组
package scalaTest object Test5 extends Application { println("eeeee") }
使用方法是,首先在单例对象名后写上“extends Application”。而后代之以main方法,你能够把想要执行的代码直接放在单例对象的花括号之间。如此而已,以后能够正常的编译和运行。
能这么作,是由于特质Application声明了带有合适签名的main方法,并被你写的单例对象继承,使它能够像scala程序那样。花括号之间的代码被收集进了单例对象的主构造器,并在类被初始化时执行。
继承自Application比编写完整的main方法要方便,不过它也有些缺点。首先,若是想访问命令行参数的话就不能用它,由于args数组不可访问(由于代码在主构造器中执行的??)。
第二,由于某些JVM线程模型里的局限,如对于多线程的程序须要自行编写main方法。最后,某些JVM的实现没有优化被Application特质执行的对象的初始化代码。所以只有当程序相对简单而且是单线程的状况下才能够继承Application特质。
多线程