📜  JVM 是否创建 Main 类的对象(带有 main() 的类)?

📅  最后修改于: 2022-05-13 01:55:31.412000             🧑  作者: Mango

JVM 是否创建 Main 类的对象(带有 main() 的类)?

考虑以下程序。

class Main {
    public static void main(String args[])
    {
        System.out.println("Hello");
    }
}

输出:

Hello

JVM 会创建 Main 类的对象吗?
答案是不”。我们研究过, Java中使用 main() 静态的原因是为了确保 main() 可以在没有任何实例的情况下被调用。为了证明这一点,我们可以看到以下程序编译并运行良好。

// Note Main is abstract
abstract class Main {
    public static void main(String args[])
    {
        System.out.println("Hello");
    }
}

输出:

Hello

由于我们无法在Java中创建抽象类的对象,因此可以保证带有 main() 的类的对象不是由 JVM 创建的。