为什么Java中的main()方法始终是静态的?

javaobject oriented programmingprogramming

Java ma​​in()方法始终是静态的,因此编译器可以在没有创建对象或在创建类的对象之前调用它。

  • 在任何Java程序中,ma​​in()方法是编译器启动程序执行的起点。因此,编译器需要调用 main() 方法。
  • 如果允许  main() 为非静态,则在调用 ma​​in() 方法时,JVM 必须实例化其类。
  • 实例化时必须调用该类的构造函数,如果该类的构造函数带有参数,则会产生歧义。
  • 只需使用类名即可调用类的静态方法,而无需创建类的对象。
  • Java 中的 ma​​in()  方法必须声明为 publicstatic void。如果缺少其中任何一个,Java 程序将编译,但会抛出运行时错误。

示例

class Book {
   public static void getBookInfo() { //静态方法
      System.out.println("Welcome to TutorialsPoint Library");
   }
}
public class Test {
   public static void main(String[] args) {
      //仅使用类名调用 Book 类的静态方法
      Book.getBookInfo();
   }
}

输出

Welcome to TutorialsPoint Library

相关文章