Scala 概述
1. 快速入门
1.1 Scala 程序反编译:说明 Scala 程序的执行流程
-
object
在底层会生成两个类Hello,Hello$
; -
Hello
中有个main
函数,调用Hello$
类中的一个静态对象MODULES$
; -
Hello$.MODULE$
对象是静态的,通过该对象调用Hello$
的main
函数; -
可以理解在
main
中写的代码在放在Hello$
的main
中, 在底层执行scala
编译器做了一个包装。// 源码 object Hello { def main(args: Array[String]): Unit = { println("hello,scala") } }
// 反编译后的代码 public final class Hello { public static void main(String[] paramArrayOfString) { Hello$.MODULE$.main(paramArrayOfString); } } // Hello$ 中的 main 方法 public void main(String[] args) { Predef$.MODULE$.println("hello,scala"); }