大数据技术之 Scala
—————————————————————————————
素,如 static 关键字,void 类型
1.static
scala 无 static 关键字,由 object 实现类似静态方法的功能(类名.方法名),
object 关键字和 class 的关键字定义方式相同,但作用不同。 class 关键字和
java 中的 class 关键字作用相同,用来定义一个类;object 的作用是声明一个单
例对象,object 后的“类名”可以理解为该单例对象的变量名。
2.void
对于无返回值的函数,scala 定义其返回值类型为 Unit 类
*/
}
1.4.2 Scala 程序反编译
1)object 在底层会生成两个类 Hello , Hello$
2)Hello 中有个 main 函数,调用 Hello$ 类的一个静态对象 MODULES$
3)Hello$.MODULE$. 对象时静态的,通过该对象调用 Hello$的 main 函数
4)可以理解我们在 main 中写的代码在放在 Hello$的 main,在底层执行 Scala 编译器做了
一个包装
下面我们说明一下 Scala 程序的执行流程:
(1)Hello 源代码
object Hello {
def main(args: Array[String]): Unit = {
//4. 可以理解我们在 main 中写的代码在放在 Hello$的 main,在底层
执行 scala 编译器做了一个包装
println("hello,scala")
}
}
(2)Hello.class 类
//package com.captainbi.chapter01
//1. object 在底层会生成两个类 Hello , Hello$
//2. Hello 中有个 main 函数,调用 Hello$ 类的一个静态对象 MODULES$
public final class Hello
{
public static void main(String[] paramArrayOfString)
{
Hello$.MODULE$.main(paramArrayOfString);
}
}
(3)Hello$.class 类
public final class Hello$
{
public static final MODULE$;
static
{