【发布时间】:2016-01-27 07:11:28
【问题描述】:
我知道我需要一个 main 方法,但是该 main 方法可以在 Main 类之外的其他类中吗?
【问题讨论】:
-
main方法是static,因此哪个类拥有它并不重要。但是,一般来说,我不介意有一个嵌套main方法的Main类 - 这样就很清楚起点在哪里。 -
是的,您的主要方法可以在任何类中。包含 main 方法的类没有命名约定
我知道我需要一个 main 方法,但是该 main 方法可以在 Main 类之外的其他类中吗?
【问题讨论】:
main 方法是static,因此哪个类拥有它并不重要。但是,一般来说,我不介意有一个嵌套 main 方法的 Main 类 - 这样就很清楚起点在哪里。
并非所有 Java 应用程序都需要 main 方法。
例如,Java 也可用于创建不需要 main 方法来运行的 Web 应用程序。
您的问题的答案取决于您的确切意思。你的意思是一个名为'Main'的类吗?那么,不,完全没有这个要求。
Java 的唯一要求是方法的签名是正确的。主要方法必须:
在文件的公共类中添加它更容易,但不是强制性的。它所在的类的名称完全取决于您,尽管许多人会选择“Main”或“Open”之类的名称,只是为了更容易找到它。
如果您希望能够运行您的应用程序,只需双击 .jar 文件,您需要指向包含 main 方法的类(使用:您的应用程序可能包含很多 main classes,用于内部测试,但只有一个可以用于启动实际应用程序)在清单文件中:Manifest files
在 Java 7 之前,可以通过 (ab) 使用实例化块来运行没有 main 方法的桌面应用程序,但从 Java 7 开始,这已被删除,因为这不是实例化块的用途.
【讨论】:
没有必要在主类中定义你的主方法。只要语法正确,您就可以将主要方法放在任何地方:
public static void main (String[] args){
//...
}
【讨论】:
你绝对不会。
方法本身可以放在任何你想要的地方,没有限制。
但是,我个人建议将它放在一个至少包含类似“Main”之类的类中,因为当其他人查看您的代码并且他们没有使用支持跳转到 main 方法的 IDE 时,人们通常更容易找到起点。
但是,这只是为了便于阅读,正如我所说,跳转到 main 通常是/应该是广泛支持的功能
【讨论】:
是的,虽然 java 类可以没有 Main 方法,但运行函数需要 Main 方法。不过,它不会运行...
【讨论】: