`public static void main args’是什么意思?
我不确定这意味着什么,每当你编写代码之前,人们都这么说
public static void main(String[] args) {
那是什么意思?
这里有一个关于为什么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()
必须声明为public
因为我们知道只要程序执行开始且JVM不属于我们的程序包,JVM就会调用它。
为了访问包外的主要内容,我们必须将其声明为public
。 如果我们将其声明为除public
之外的任何内容,则会显示Run time Error
但不显示Compilation time error
。
为什么main必须声明为static?
main()
必须声明为static,因为JVM不知道如何创建类的对象,因此需要一种标准的方法来访问main方法,这可以通过将main()
声明为static
。
如果方法被声明为static
那么我们可以在类之外调用该方法,而无需使用语法ClassName.methodName();
创建对象ClassName.methodName();
。
因此,通过这种方式,JVM可以将我们的main方法称为
为什么主要必须宣布无效?
main()
必须声明为void,因为JVM不期望main()
任何值。 因此,它必须声明为void
。
如果提供了其他返回类型,则它是RunTimeError
即NoSuchMethodFoundError
。
为什么main必须有String Array参数?
main(
)必须将String参数作为数组,因为JVM通过传递命令行参数来调用main方法。 因为它们存储在字符串数组对象中,所以它作为参数传递给main()
。
根据Java语言规范 ,Java程序的执行从main()方法开始。 main()方法应遵循特定的语法,可以解释为:
public static void main(String[] args)
public
– Access说明符,表明所有其他类都可以访问main()
。
void
– 返回类型, main()
返回任何内容。
String args[]
– main()
方法的参数,应该是string类型的数组。
static
– 访问修饰符。 main方法应该始终是静态的,因为可以在不创建类实例的情况下调用`main()’方法。
让我们假设,我们正在执行一个Helloworld java程序。
在执行程序时,我们使用该命令
java Helloworld.
在内部,此命令被转换为
Helloworld.main()
通过使main()
方法成为静态,JVM首先调用main()
方法而不创建对象。
-
Public
=此方法对所有其他类可见。 -
static
=此方法不需要运行实例。 -
void
=此方法不返回任何内容。 -
main()
=主要方法(第一种运行方法)。 -
String[]
=字符串数组。 -
args
=数组名称。
在Java中,您的主要方法必须始终是:
public static void main(String args[])
-
程序执行从
main()
函数开始,因此main()
函数。 -
它必须是
public
以便外部环境可以访问它。 -
main()
方法总是静态的,因为您知道程序执行从main()
方法开始,并且没有启动包含main()
方法的类的实例。 因此,由于静态方法可以在不需要任何实例的情况下运行,因此它被声明为静态。 -
Java是独立于平台的,因此您可以尝试在一个系统上编译java文件并尝试在另一个系统上执行类文件。 每个机器的位结构可能不同,因此主函数的返回类型必须始终为
main()
。
希望这可以帮助。
public
– >访问说明符。 任何其他类都可以访问此方法。
static
– >该方法绑定到类,而不是类的实例。
void
– >返回类型。 该方法不返回任何内容。
main(String[] args)
– >方法名是main()
。 它需要一个String数组作为参数。 String[]
args是命令行参数。
注意 :上面定义的main()
方法是程序的入口点,如果更改签名,则程序可能无法运行。