为什么Java中的main()方法始终是静态的?
javaobject oriented programmingprogramming
Java main()方法始终是静态的,因此编译器可以在没有创建对象或在创建类的对象之前调用它。
- 在任何Java程序中,main()方法是编译器启动程序执行的起点。因此,编译器需要调用 main() 方法。
- 如果允许 main() 为非静态,则在调用 main() 方法时,JVM 必须实例化其类。
- 实例化时必须调用该类的构造函数,如果该类的构造函数带有参数,则会产生歧义。
- 只需使用类名即可调用类的静态方法,而无需创建类的对象。
- Java 中的 main() 方法必须声明为 public、static 和 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