Java中的主要方法是强制性的吗?
要编译程序,您实际上不需要程序中的main方法。但是,JVM在执行时会搜索main方法。在Java中,main方法是入口点。每当您在Java中执行程序时,JVM就会搜索main方法并开始从中执行。
main方法必须是公共的,静态的,返回类型为void,并且将String数组作为参数。
public static int main(String[] args){ }
您可以编写程序而无需定义主程序,而不会编译主程序而不会出现编译错误。但是当您执行它时,会生成一个运行时错误,提示“找不到主要方法”。
示例
在下面的Java程序中,我们有两个具有相同名称(重载)的方法,而没有main方法。您可以编译该程序而不会出现编译错误。
public class Calculator { int addition(int a , int b){ int result = a+b; return result; } int addition(int a , int b, int c){ int result = a+b+c; return result; } }
运行时间错误
但是,当您尝试执行该程序时,将产生以下错误。
D:\>javac Calculator.java D:\>java Calculator Error: Main method not found in class Calculator, please define the main method as: public static void main(String[] args) or a JavaFX application class must extend javafx.application.Application
要解决此问题,您需要在该程序中定义main方法并调用该类的方法。
public class Calculator { int addition(int a , int b){ int result = a+b; return result; } int addition(int a , int b, int c){ int result = a+b+c; return result; } public static void main(String args[]){ Calculator obj = new Calculator(); System.out.println(obj.addition(12, 13)); System.out.println(obj.addition(12, 13, 15)); } }
输出结果
25 40