看下面一段Scala入门的代码:
object HelloScala{
def main(args:Array[String]):Unit = {
println("hello, scala~~")
}
}
编译后生成如下class文件:
结合这两张截图作一些说明:
1. object表示一个伴生类对象
2. HelloScala就是对象的名字,它底层真正对应的类名是HelloScala$,对象是HelloScala$类型的一个静态对象 MODULE$
3. 当Scala运行时,它的流程如下:
1)先从HelloScala的main开始执行
2)然后调用 HelloScala$ 类的方法 HelloScala$.MOUDULE$.main
3)最后执行println("hello, scala~~")方法
【参考:尚硅谷Scala】