我知道我需要一个 main 方法,但是该 main 方法可以位于 Main 类之外的其他类中吗?
并非所有 Java 应用程序都需要
main
方法:
main
方法是可选的。您问题的答案取决于您的确切意思。你的意思是一个名为“Main”的类吗?那么,不,根本没有这个要求。
Java 的唯一要求是方法的签名正确。主要方法必须:
将其添加到文件中的公共类中会更容易,但不是强制性的。它所在的类的名称完全取决于您,尽管许多人会选择“Main”或“Open”之类的名称,只是为了更容易找到它。
如果您希望能够运行您的应用程序,只需双击 .jar 文件,您需要指向包含 main 方法的类(使用:您的应用程序可能包含很多主类,用于内部测试,但只能使用一个来启动实际应用)在清单文件中:Manifest files
在 Java 7 之前,可以通过(ab)使用实例化块来运行没有 main 方法的桌面应用程序,但这在 Java 7 中被删除,因为这不是实例化块的用途。
上面列出的一些规则可能在 Java 的未来版本中放宽。
Java 22 预览了一项功能,可大大简化
main
方法及其包含类的声明。请参阅 JEP 463:隐式声明的类和实例主要方法(第二次预览)。
没有必要在主类中定义 main 方法。你可以将 main 方法放在任何你想要的地方,只要语法正确即可:
public static void main (String[] args){
//...
}
你绝对不会。
方法本身可以放在任何地方,没有限制。
但是,我个人建议将其放在一个至少包含“Main”之类的类中,因为当其他人查看您的代码时,并且他们没有使用支持跳转到
main
方法的 IDE,人们通常会更容易找到起点。
但是,这只是为了可读性,正如我所说,跳转到
main
通常是/应该是广泛支持的功能
是的,尽管 Java 类可以没有 Main 方法,但运行函数需要 Main 方法。不过,它不会运行...