在java中,我总是需要一个主类吗?

在java中,我总是需要一个主类吗?,java,class,main,Java,Class,Main,我知道我需要一个main方法,但该main方法是否可以位于main类以外的其他类中?不必在main类中定义main方法。只要语法正确,就可以将main方法放在任何地方: public static void main (String[] args){ //... } 没有必要在主类中定义yout main方法。只要语法正确,就可以将main方法放在任何地方: public static void main (String[] args){ //... } 你绝对不会 方法本身可以放在任何

我知道我需要一个main方法,但该main方法是否可以位于main类以外的其他类中?

不必在main类中定义main方法。只要语法正确,就可以将main方法放在任何地方:

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

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

public static void main (String[] args){
//...
} 
你绝对不会

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

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

然而,这仅仅是为了可读性,正如我所说的,跳转到
main
通常是/应该是一个广泛支持的特性,你绝对不会

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

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


然而,这只是为了可读性,正如我所说的,跳转到
main
通常是/应该是一个广泛支持的特性

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

例如,Java还可以用来创建web应用程序,这些应用程序不需要主方法来运行

你问题的答案取决于你的确切意思。你是说一个名为“Main”的类吗?那么,不,根本就没有这个要求

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

  • 公开
  • 主要的
  • 静止
  • 返回类型无效
  • 接受字符串数组作为(仅)参数
将其添加到文件的公共类中更容易,但不是强制性的。它所在的类的名称完全取决于您,尽管许多人会选择“Main”或“Open”这样的名称,只是为了更容易找到它

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


在Java 7之前,通过(ab)使用实例化块,可以在没有主方法的情况下运行桌面应用程序,但从Java 7开始就删除了这一点,因为这不是实例化块的目的。

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

例如,Java还可以用来创建web应用程序,这些应用程序不需要主方法来运行

你问题的答案取决于你的确切意思。你是说一个名为“Main”的类吗?那么,不,根本就没有这个要求

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

  • 公开
  • 主要的
  • 静止
  • 返回类型无效
  • 接受字符串数组作为(仅)参数
将其添加到文件的公共类中更容易,但不是强制性的。它所在的类的名称完全取决于您,尽管许多人会选择“Main”或“Open”这样的名称,只是为了更容易找到它

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


在Java 7之前,通过(ab)使用实例化块,可以在没有主方法的情况下运行桌面应用程序,但从Java 7开始,这就被删除了,因为这不是实例化块的目的。

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