zl程序教程

您现在的位置是:首页 >  其他

当前栏目

Scala入门示例反编译分析代码执行流程

流程scala入门 分析 示例 反编译 代码执行
2023-09-14 09:02:03 时间

在这里插入图片描述
javap一下,看反编译结果:
在这里插入图片描述
在这里插入图片描述

package com.zxl.java.chapter01;

//分析
// 1. object在底层会生成两个类Hello , Hello$
// 2. Hello中有个main函数,调用Hello$类的一个静态对象MODULES$
// 3. Hello$.MODULE$.对象是静态的,通过该对象调用Hello$的 main函数
// 4. 可以理解我们在main中写的代码在放在Hello$的main,在底层执行时scala编译器做了一个包装
public class HelloWorld {
    public static void main(String[] args) {
        Hello2$.MODULE$.main(args);
    }
}

final class Hello2$ {
    public static final Hello2$ MODULE$;
    static {
        MODULE$ = new Hello2$();
    }
    public void main(String[] args) {
        System.out.println("hello world");
    }
 }