apiI翻译App

trait App extends DelayedInit
App特质可以用来快速把对象转换为可执行的程序,这里有一个小例子:
object Main extends App{
     Console.println("Hello World:" + (args.mkString ","))
}
在这,Main对象继承了App的main方法
args把当前命令行参数作为一个数组返回

注意事项
应该指出的是,这一特性是使用DelayedInit功能,这意味着对象的字段景在主函数执行前不会被初始化

还有一个注意的地反是main方法不应该不重写:整个类将变成一个主函数

这种特质在将来的版本中将不会继承DelayedInit

Source App.scala
版本   2.1,15/02/2011

线性超类型

DelayedInit,AnyRef,Any


类型层次

DelayedInit

App

值成员
val executionStart :Long,当程序执行开始的时间戳类型的时间

def main(args:Array[String]):Unit
主函数

废弃的值成员
def delayedInit(body => Unit):Unit
和初始化相关,这节省了所有要在主函数执行的代码的初始化,此方法通常不会直接从用户代码调用,相反,它被称为用于这些类和对象(特质除外),从DelayedInit特质继承,本身不定义delayedInit方法

body 初始化代码将将为以后的执行存储

定义类  App -> DelayedInit

注解 @deprecated

弃用 :从2.11.0版本开始delayedInit机制将被废弃

猜你喜欢

转载自cjuexuan.iteye.com/blog/2228382