我不确定这意味着什么,在你编写代码之前,人们会说这个
public static void main(String[] args) {
这是什么意思?
答案 0 :(得分:19)
这里有一个关于为什么main方法被声明为
的详细解释public static void main(String[] args)
主方法是Java虚拟机(JVM)的Java程序的入口点。我们假设我们有一个名为Sample
class Sample {
static void fun()
{
System.out.println("Hello");
}
}
class Test {
public static void main(String[] args)
{
Sample.fun();
}
}
此程序将在编译为java Test
后执行。 java
命令将启动JVM,它会将Test.java
类加载到内存中。由于main是我们程序的入口点,JVM将搜索声明为public
,static
和void
的main方法。
为什么main必须公开?
main()
必须声明public
因为我们知道只要程序执行开始且JVM不属于我们的程序包,JVM就会调用它。
为了访问包外的主要内容,我们必须将其声明为public
。如果我们将其声明为public
以外的任何内容,则会显示Run time Error
但不显示Compilation time error
。
为什么main必须声明为静态?
main()
必须声明为静态,因为JVM不知道如何创建类的对象,因此需要一种标准的方法来访问main方法,这可以通过将main()
声明为{ {1}}。
如果方法声明为static
,那么我们可以在类之外调用该方法,而无需使用语法static
创建对象。
因此,JVM可以将我们的main方法称为ClassName.methodName();
必须将为什么main必须声明无效?
<ClassName>.<Main-Method>
声明为void,因为JVM不期望来自main()
的任何值。因此,必须将其声明为main()
。
如果提供了其他返回类型,则为void
,即RunTimeError
。
为什么main必须有String Array参数?
NoSuchMethodFoundError
)必须将String参数作为数组,因为JVM通过传递命令行参数来调用main方法。因为它们存储在字符串数组对象中,所以它作为参数传递给main(
。
答案 1 :(得分:1)
根据Java language specification,Java程序的执行从main()方法开始。 main()方法应遵循特定的语法,可以解释为:
public static void main(String[] args)
public
- 访问说明符,表明所有其他类都可以访问main()
。
void
- 返回类型,main()
不返回任何内容。
String args[]
- main()
方法的参数,应该是一个字符串类型的数组。
static
- 访问修饰符。主要方法应该始终是静态的,因为`main()&#39;可以在不创建类实例的情况下调用方法。
让我们假设,我们正在执行一个Helloworld java程序。
执行程序时,我们使用命令
java Helloworld.
在内部,此命令将转换为
Helloworld.main()
通过使main()
方法为静态,JVM首先调用main()
方法而不创建对象。
答案 2 :(得分:0)
public
- &gt;访问说明符。任何其他类都可以访问此方法。
static
- &gt;该方法绑定到类,而不是类的实例。
void
- &gt;返回类型。该方法不会返回任何内容。
main(String[] args)
- &gt;方法名称为main()
。它需要一个String数组作为参数。 String[]
args是命令行参数。
注意:上面定义的main()
方法是程序的入口点,如果更改签名,则程序可能无法运行。
答案 3 :(得分:0)
Public
=此方法对所有其他类都可见。
static
=此方法不需要运行实例。
void
=此方法不会返回任何内容。
main()
=主要方法(第一种运行方法)。
String[]
=字符串数组。
args
=数组名称。
答案 4 :(得分:0)
在Java中,您的主要方法必须始终是:
public static void main(String args[])
程序执行以main()
函数开始,因此main()
函数。
必须为public
,以便外部环境可以访问。
main()
方法始终是静态的,因为您知道程序执行从main()
方法开始,并且没有启动包含main()
方法的类的实例。因此,由于静态方法可以在不需要任何实例的情况下运行,因此它被声明为静态。
Java与平台无关,因此您可以尝试在一个系统上编译java文件,并尝试在另一个系统上执行类文件。每台机器&#39;位结构可能不同,因此主函数的返回类型必须始终为main()
。
希望这有帮助。