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 创建的。