【问题标题】:In java, do I always need a Main class?在java中,我总是需要一个主类吗?
【发布时间】:2016-01-27 07:11:28
【问题描述】:

我知道我需要一个 main 方法,但是该 main 方法可以在 Main 类之外的其他类中吗?

【问题讨论】:

  • main 方法是static,因此哪个类拥有它并不重要。但是,一般来说,我不介意有一个嵌套 main 方法的 Main 类 - 这样就很清楚起点在哪里。
  • 是的,您的主要方法可以在任何类中。包含 main 方法的类没有命名约定

标签: java class main


【解决方案1】:

并非所有 Java 应用程序都需要 main 方法。

例如,Java 也可用于创建不需要 main 方法来运行的 Web 应用程序。

您的问题的答案取决于您的确切意思。你的意思是一个名为'Main'的类吗?那么,不,完全没有这个要求。

Java 的唯一要求是方法的签名是正确的。主要方法必须:

  • 公开
  • 做主
  • 保持静止
  • 返回类型为 void
  • 接受字符串数组作为(仅)参数

在文件的公共类中添加它更容易,但不是强制性的。它所在的类的名称完全取决于您,尽管许多人会选择“Main”或“Open”之类的名称,只是为了更容易找到它。

如果您希望能够运行您的应用程序,只需双击 .jar 文件,您需要指向包含 main 方法的类(使用:您的应用程序可能包含很多 main classes,用于内部测试,但只有一个可以用于启动实际应用程序)在清单文件中:Manifest files

在 Java 7 之前,可以通过 (ab) 使用实例化块来运行没有 main 方法的桌面应用程序,但从 Java 7 开始,这已被删除,因为这不是实例化块的用途.

【讨论】:

    【解决方案2】:

    没有必要在主类中定义你的主方法。只要语法正确,您就可以将主要方法放在任何地方:

    public static void main (String[] args){
    //...
    } 
    

    【讨论】:

      【解决方案3】:

      你绝对不会。

      方法本身可以放在任何你想要的地方,没有限制。

      但是,我个人建议将它放在一个至少包含类似“Main”之类的类中,因为当其他人查看您的代码并且他们没有使用支持跳转到 main 方法的 IDE 时,人们通常更容易找到起点。

      但是,这只是为了便于阅读,正如我所说,跳转到 main 通常是/应该是广泛支持的功能

      【讨论】:

        【解决方案4】:

        是的,虽然 java 类可以没有 Main 方法,但运行函数需要 Main 方法。不过,它不会运行...

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-01-01
          • 2012-11-02
          • 1970-01-01
          • 1970-01-01
          • 2012-07-21
          • 1970-01-01
          相关资源
          最近更新 更多