`public static void main args`是什么意思?

时间:2015-03-26 11:09:44

标签: java static main void public

我不确定这意味着什么,在你编写代码之前,人们会说这个

public static void main(String[] args) {

这是什么意思?

5 个答案:

答案 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将搜索声明为publicstaticvoid的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[])
  1. 程序执行以main()函数开始,因此main()函数。

  2. 必须为public,以便外部环境可以访问。

  3. main()方法始终是静态的,因为您知道程序执行从main()方法开始,并且没有启动包含main()方法的类的实例。因此,由于静态方法可以在不需要任何实例的情况下运行,因此它被声明为静态。

  4. Java与平台无关,因此您可以尝试在一个系统上编译java文件,并尝试在另一个系统上执行类文件。每台机器&#39;位结构可能不同,因此主函数的返回类型必须始终为main()

  5. 希望这有帮助。