我是java编程的新手,我刚刚遇到了一个由许多文件组成的java程序,只有一个文件有一个main函数而其他文件没有。我没有真正理解为什么我们在每个java文件中都没有主函数。
答案 0 :(得分:1)
并非每个文件都需要“主”功能。例如,您可能希望导入具有特定功能或类的文件。在这种情况下(没有“main”函数的java文件),java文件只代表一段代码,它被添加到程序中。所以它不需要单独的“主”功能,如果你已经有一个。
答案 1 :(得分:0)
每个Java程序都必须有一个入口点,并且该入口点必须具有特定的签名。正如您所注意到的那样,public static void main(String[] args)
之后,作为入口点的类可以创建其他类的实例和/或调用其方法,或者调用静态类级方法。这些类没有必要具有入口点,因为程序已经在Java虚拟机(JVM)中运行(执行代码)。
你会注意到一个常见的错误新手(有时甚至是经验丰富的)程序员正在尝试运行运行时环境无法找到入口点的程序。例如,Eclipse: Java, no main method found(在这个例子中,问题是OP有错误的方法签名)。运行时必须找到一些东西,好吧,RUN。
如果您的代码将由其他代码运行(例如,您正在开发一个库或包含将用作另一个应用程序的 part 的功能的API),则可能不是你需要一个主要的方法。如果你使用IDE浏览一些标准库的.jar文件,你应该发现它们中只有很少有带有main方法的类 - 这是因为它们不是单独运行,而是在上下文中运行另一个申请。
答案 2 :(得分:0)
在java中,main()
是程序/应用程序的入口点。有时在应用程序中我们只需要一个入口点来启动程序,从这一点开始使用其他必要的代码。
但并非所有应用程序都必须使用main()
方法 - 例如Web应用程序或java applet,其中容器启动应用程序/程序。
答案 3 :(得分:0)
java中的public void main(String args[])
方法是程序的入口点。如果直接运行,它将从main方法开始。但是,并非您在Java中创建的每个类都是可接受的入口点。实际上,在许多应用程序中,您应该只有一个main
方法。通常不需要更多。有些java库根本没有主要方法。此代码通常被设计为可以被其他Java代码使用,并且通常没有合理的方式来运行自身。它不是为此而设计的。它旨在帮助其他程序。
没有使用main
方法的类是a)为其他java程序提供功能(例如,依赖项),b)为通过{{1}调用的程序提供附加功能}} 方法。
以下是几个示例文件,说明了第二个。
MainExample.java
main
OtherClass.java
public class MainExample{
public static void main(String args[]){
OtherClass other = new OtherClass()
other.doExpensiveComputation1();
other.doExpensiveComputation2();
}
}
现在,您可能会问,"我不能在主类中编写这些方法?"。在某些情况下,答案可能是肯定的,但对于更复杂的代码,它通常不是。在某些情况下,这将是不切实际的,因为它过多地扰乱了主类,无法跟踪。跟踪将其类保存在不同文件中的代码要容易得多。
答案 4 :(得分:0)
Java程序的执行总是从Main方法开始。具有main方法的类是程序的入口点,并且从那里可以获得剩余的所需功能。
如果你想要,你可以在每个java文件中使用main方法,这将作为你的程序的多个入口点。