【问题标题】:Can I have more than one class containing the main() method in a Java project?我可以在 Java 项目中拥有多个包含 main() 方法的类吗?
【发布时间】:2013-09-30 22:12:12
【问题描述】:

我对 Java 有疑问。

在 Java 项目中(例如由 Eclipse 处理),我可以拥有更多包含 main() 方法的类,因此我可以选择执行一个类还是另一个类?

Tnx

安德烈亚

【问题讨论】:

  • 是的,我记得一个类不能包含多个主要方法
  • 你为什么不试试看呢?
  • @NKukhar 一个类不能包含多个主方法(纯粹是因为一个类中不能有多个具有相同签名的方法),但是一个类可以包含多个主方法。
  • 出于什么原因不可能有更多的类有一个名为 main 的方法,或者为此在同一个类中有更多的方法叫做 main,只要参数不一样?

标签: java eclipse main


【解决方案1】:

是的,您可以拥有更多包含public static void main(String[] args) 的类。您可以选择执行一个类或另一类。但是,同一类中不能有多个 main 方法。

【讨论】:

  • 但是一旦你从项目中创建了一个JAR文件,其中只有一个可以作为入口点...
【解决方案2】:

让我总结一下JAVA中main方法的要点(一开始很混乱)。

1.我们可以在一个类中拥有多个 main() 方法吗? 回答:是的。您可以拥有多个名称为 main 但签名不同的方法。这些方法将被重载。 但是带有以下签名的 main 方法将被视为应用入口点。

public static void main(String args[]) 等同于public static void main(String... args)public static void main(String[] args)

2。我们可以在 java 程序中拥有多个 main 方法吗? 答:是的。我们可以有不同的类具有主要方法。

那么哪一个会被当作应用入口点呢?

在运行带有此类类的程序时,将要求用户在这些类中进行选择以充当入口点。

【讨论】:

    【解决方案3】:

    只要每个类有一个 main 方法,您就可以拥有任意多个类。

    如果您想在该类中运行 main,则必须在 Eclipse 中打开一个特定类,或者您可以从 Eclipse Run Menuitem 中选择以前运行的类。

    main 表示public static void main(String[] args),它是java 程序的入口点。

    【讨论】:

    • 是否有允许在运行时修改 main 方法的最佳实践?
    【解决方案4】:

    是的,您可以拥有更多包含 main() 方法的类,但至少有一个包含 main() 的类应该是公共的,以便 JMV 将该类作为主线程启动

    • aUserHimself写的代码代表

    【讨论】:

    • @AndreaNobili 为什么这个答案是所有其他答案中最好的?
    • @TheKojuEffect:一个很好的问题是为什么你的答案得到了最多的支持,因为它是错误的?就像重载任何其他方法一样,您当然可以在每个名为“main”的类中拥有多个方法。这就是这里的投票系统通常的运作方式。成为第一个回答简单问题的人通常会给你几张赞成票,无论答案是否正确。
    • @jarnbjo 如果我的回答有问题,我很高兴听到。请发表评论。
    【解决方案5】:

    是的,您可以拥有与类一样多的public static void main(String args[]) 方法。 您还可以在同一个文件中包含更多。例如,在Class2.java 中,您可以:

    class Class1 {
        public static void main(String args[]) {
        }
    }
    public class Class2 {
        public static void main(String args[]) {
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2019-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多