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