该语句意味着jvm在公共类中寻找main方法吗?

问题描述 投票:3回答:1

所以我正在阅读以下文章:

https://dzone.com/articles/why-single-java-source-file-can-not-have-more-than

关于为什么我们在一个文件中不能有多个公共类,并且有这样的陈述:

而且在我们执行应用程序后,默认情况下,JVM看起来对于公共类(因为没有限制,可以可以从任何地方访问),并且它还会查找public static void该公共类中的main(String args [])。公共阶层充当Java应用程序的JVM实例所在的初始类(程序)开始。因此,当我们在一个程序本身会通过引发错误来阻止您。这是因为以后我们不能混淆JVM将哪个类作为其类初始类,因为只有一个公共类具有公共静态void main(String args [])是JVM的初始类。

由于以下原因,这使我感到困惑:

  1. [编译代码时,编译器将为每个类创建单独的.class文件
  2. 执行代码时,我们告诉JVM主要方法是在哪个类中。java Test(其中Test是一个.class文件),这意味着jvm仅需查看是否在该.class文件中定义了main方法。
  3. 那么,该语句意味着JVM在公共类中寻找主要方法吗?

所以我正在阅读以下文章:https://dzone.com/articles/why-single-java-source-file-can-not-have-more-than关于为什么我们不能拥有多个公众的话题类放在一个文件中,然后...

java main
1个回答
-1
投票

您实际上是指两个单独的问题。一个文件最多只能包含一个公共类。这是因为文件名必须与顶级类的名称相同。话虽这么说,顶层类本身可以包含许多子类。

© www.soinside.com 2019 - 2024. All rights reserved.