尽管我在java中做了一些编码,但我仍然觉得很难理解这个基本概念。当我读完一本书时,我遇到了这一行,
main( )
必须声明为public
,因为必须调用它 程序启动时,通过其类外的代码。
作者的意思是说类以外的代码?
答案 0 :(得分:8)
作者的意思是说它的类之外的代码..哪个代码在调用它??
调用该方法的是JVM,因此,是的,“在其类之外”在这种情况下应该被解释为“由JVM”。
从技术上讲,JVM不是包含main方法的类的一部分,因此该方法必须公开才能调用它。
答案 1 :(得分:2)
直接JVM在不创建此类的实例的情况下调用此类,因此它是静态的。
当您在封面下运行该类时,您的操作系统会收到此命令
java YourMainClass
这里java是一个可执行文件,你的操作系统知道它在哪里,而YourMainClass是java
的参数,它加载了类和搜索&调用main方法
因为它是JVM调用所以public
,因为它没有创建对象的任何实例,所以它是static
答案 2 :(得分:1)
JVM调用main()
方法。
答案 3 :(得分:0)
此包中没有的另一个类或JVM本身。
答案 4 :(得分:0)
主要功能是程序的入口点。如果此功能不公开且无法启动,则无法启动程序。
答案 5 :(得分:0)