Java 包中的类Main?

Java 包中的类Main?,java,netbeans,main,Java,Netbeans,Main,Netbeans在我创建新项目时自动创建一个类Main 那么它在这里的构造函数中,我编写代码并使用所有其他类 当我将主类重命名为其他类时会发生什么。它还能工作吗?它不能工作,只是因为Java文件中最顶层类的名称必须与文件本身的名称相同。例如,Main类需要位于文件Main.java中。如果您同时重命名类和文件,它将工作 所以它在我写的构造函数中 代码和使用所有其他类 将所有代码都放在构造函数中通常是不好的做法。构造函数通常用于设置,比如初始化类的字段。您应该将逻辑分离为类的方法,这些方法可以包括

Netbeans在我创建新项目时自动创建一个类Main

那么它在这里的构造函数中,我编写代码并使用所有其他类


当我将主类重命名为其他类时会发生什么。它还能工作吗?

它不能工作,只是因为Java文件中最顶层类的名称必须与文件本身的名称相同。例如,
Main
类需要位于文件
Main.java
中。如果您同时重命名类和文件,它将工作

所以它在我写的构造函数中 代码和使用所有其他类

将所有代码都放在构造函数中通常是不好的做法。构造函数通常用于设置,比如初始化类的字段。您应该将逻辑分离为类的方法,这些方法可以包括对其他类的实例调用方法


如果你想让你的
Main
类成为一个可执行类,你可以在一个带有签名
public static void Main(String[]args)
的函数中编写代码,然后在
Main.class
所在的目录中执行你的(编译)类,比如
java Main
,尽管NetBeans可能也为您提供了通过IDE执行的方法。

您可以重命名类Main,但重要的是函数Main(publicstatic)。在项目配置中,您可以选择包含主函数(方法)的类。但当您重命名类时,您必须同时重命名文件和类


这个类的构造函数并不重要,因为main方法是静态的,所以没有这个类的实例。如果需要,可以手动创建if

你试过给它改名吗?AFAK netbeans扫描项目中包含
main
方法的类,这样它就可以位于任何类中。我使用Eclipse,但有一种做法是使用一个主类来测试应用程序。通常它只是作为一个入口点来实例化另一个类。你说的当然是真的。我只是想指出,这个类可以命名为任何东西。类名和文件名不作为应用程序的入口点。并假设OP看到类
Main
和方法
Main
之间的关系。抱歉误解。(danben,为了让您的投票人有机会更改他们的投票,请编辑您的答案-否则他们无法更改答案)是的,该类可以重命名为任何有效的Java类名是正确的,但是需要注意的是,文件名也必须更改(这是我一开始写的)。正如我说的,我很快读到了你的答案,但我仍然记得
main
方法。对不起。