Nic*_*las 5 java static program-entry-point public void
我不确定这意味着什么,每当你编写代码之前,人们都这么说
public static void main(String[] args) {
Run Code Online (Sandbox Code Playgroud)
那是什么意思?
Sai*_*ula 19
这里有一个关于为什么main方法被声明为的详细解释
public static void main(String[] args)
Run Code Online (Sandbox Code Playgroud)
主方法是Java虚拟机(JVM)的Java程序的入口点.假设我们有一个名为的课程Sample
class Sample {
static void fun()
{
System.out.println("Hello");
}
}
class Test {
public static void main(String[] args)
{
Sample.fun();
}
}
Run Code Online (Sandbox Code Playgroud)
该程序将在编译后执行java Test.该java命令将启动JVM,它将我们的Test.java类加载到内存中.由于主要是我们程序的入口点,JVM将搜索该声明为主要方法public,static和void.
为什么主要必须公开?
main()必须声明,public因为我们知道只要程序执行开始且JVM不属于我们的程序包,JVM就会调用它.
为了访问包外的主要部分,我们必须将其声明为public.如果我们声明它不是public它显示Run time Error但不是Compilation time error.
为什么main必须声明为static?
main()必须声明为静态,因为JVM不知道如何创建类的对象,因此需要一种标准方法来访问主方法,这可以通过声明main()为static.
如果方法被声明为,static那么我们可以在类之外调用该方法,而无需使用语法创建对象ClassName.methodName();.
所以这样JVM可以调用我们的main方法 <ClassName>.<Main-Method>
为什么main必须声明为void?
main()必须声明为void,因为JVM不期望任何值main().所以,必须声明为void.
如果提供了其他返回类型,则它是一个RunTimeErrorie NoSuchMethodFoundError.
为什么main必须有String Array参数?
main()必须将String参数作为数组,因为JVM通过传递命令行参数来调用main方法.因为它们存储在字符串数组对象中,所以它作为参数传递给main().
public--> 访问说明符。任何其他类都可以访问此方法。
static--> 该方法绑定到类,而不是绑定到类的实例。
void--> 返回类型。该方法不返回任何内容。
main(String[] args)--> 方法名称是main(). 它接受一个字符串数组作为参数。argsString[]是命令行参数。
注意:main()上面定义的方法是程序的入口点,如果你改变了签名,那么你的程序可能无法运行。