共计 1150 个字符,预计需要花费 3 分钟才能阅读完成。
答案是否定的 ,main() 办法必须 public,不能定义 main()办法为 private 和 protected,也不能不用拜访修饰符。
这是为了能让 JVM 拜访 main()办法,如果不定义 main()办法为 public,尽管编译也会胜利,但会失去运行时谬误,因为找不到 main 办法。
(1)上面来进行验证,先把 public 改成 private,如下:
package com.magic.main;
public class MainDemo {private static void main(String[] args) {System.out.println("Hello World");
}
}
尝试运行程序,失去的后果如下:
谬误: 在类 com.magic.main.MainDemo 中找不到 main 办法, 请将 main 办法定义为:
public static void main(String[] args)
否则 JavaFX 应用程序类必须扩大 javafx.application.Application
(2)把 public 改成 protected,如下:
package com.magic.main;
public class MainDemo {protected static void main(String[] args) {System.out.println("Hello World");
}
}
尝试运行程序,失去的后果如下:
谬误: 在类 com.magic.main.MainDemo 中找不到 main 办法, 请将 main 办法定义为:
public static void main(String[] args)
否则 JavaFX 应用程序类必须扩大 javafx.application.Application
(3)去掉 public 修饰符
package com.magic.main;
public class MainDemo {static void main(String[] args) {System.out.println("Hello World");
}
}
尝试运行程序,失去的后果如下:
谬误: 在类 com.magic.main.MainDemo 中找不到 main 办法, 请将 main 办法定义为:
public static void main(String[] args)
否则 JavaFX 应用程序类必须扩大 javafx.application.Application
从下面能够得出结论,main() 办法必须应用 public 润饰,那么问题来了:能不能申明 main()办法为非静态方法?
更多无关 Java 面试相干的知识点能够关注【Java 面试手册】小程序,波及 Java 根底、多线程、JVM、Spring、Spring Boot、Spring Cloud、Mybatis、Redis、数据库、数据结构与算法等。
正文完