Java 解释';字符串参数[]和#x27;在'中为静态;公共静态void main(字符串[]参数)和#x27;

Java 解释';字符串参数[]和#x27;在'中为静态;公共静态void main(字符串[]参数)和#x27;,java,main,Java,Main,对于初学者,String args[]的含义以及static在以下摘录中的使用,您如何解释清楚 class FirstApp { public static void main(String[] args) { ... } } 为了保持初学者的态度,您可以解释所有命令行都自动拆分为一个字符串数组(String[]) 对于static您必须解释,它不是一个类似于另一个字段的字段:它在JVM中是唯一的,即使您有数千个类实例 因此,main是静态的,因为它是在jar中

对于初学者
String args[]
的含义以及
static
在以下摘录中的使用,您如何解释清楚

class FirstApp {
    public static void main(String[] args) {
        ...
    }
}

为了保持初学者的态度,您可以解释所有命令行都自动拆分为一个字符串数组(
String[]

对于
static
您必须解释,它不是一个类似于另一个字段的字段:它在JVM中是唯一的,即使您有数千个类实例

因此,
main
是静态的,因为它是在
jar
中找到它(在自己的类中链接)的唯一方法


。。。在您了解了编码之后,您的工作就开始了…

我会给初学者指出,然后用这个来补充它

  • Java只开始运行带有特定
    publicstaticvoidmain(String[]args)
    签名的程序,人们可以把签名想象成自己的名字——这就是Java如何区分其他人的
    main()
    和真实的
    main()

  • String[]args
    String
    s的集合,由空格分隔,可以在终端上的程序中键入。很多时候,初学者不会使用这个变量,但它总是在那里以防万一


如果我向某人解释这一点,我会说我们稍后再讨论。您需要知道运行程序的方法是使用:

public static void main(String[] args) {
        ...
    }
假设他/她知道数组是什么,我会说args是一个参数数组,你可以展示一些很酷的例子

然后,在您了解了一些Java/JVM和其他东西之后,您将最终了解静态和公共的修饰符

然后你可以花些时间讨论这些IMHO的含义

您可以提到其他“很酷”的东西,比如varargs,您可以在以后的Java版本中使用它

public static void main(String ...args) {
        //...
    }

static的正常用法是直接访问函数而不创建任何对象。与在Javamain中一样,我们不能为该类创建任何对象来调用main方法。它将自动执行。如果我们想手动执行,可以在类内部使用main()调用,在类外部使用ClassName.main调用

public static void main(string [] args)
public
-它的访问说明符意味着我们可以从任何地方访问它;
static
-访问修饰符意味着我们可以直接使用类名调用此方法,而无需创建它的对象;
void
-返回类型;
main
-方法名称
string[]args
-它只接受字符串类型的参数。。。并将其存储在字符串数组中
  • public
    :它是一个访问说明符,表示它将被公共访问
  • static
    :它是访问修饰符,意味着当java程序加载时,它将自动在内存中创建空间
  • void
    :它是一种返回类型,即不返回任何值
  • main()
    :它是一个方法或函数名
  • string args[]
    :它是一个命令行参数,是字符串格式的变量集合
    • 我要分手了

      public static void main(String args[])
      
      部分:

      public

      这意味着您可以从当前所在的类之外调用此方法。这是必要的,因为Java运行时系统正在调用此方法,而该系统不在当前类中


      static

      当JVM调用main方法时,被调用的类不存在对象,因此它必须有静态方法才能允许从类调用


      void

      Java是独立于平台的语言,如果它将返回一些值,那么该值对于不同的平台可能意味着不同的东西。在多线程系统上还有其他退出程序的方法


      main

      这只是方法的名称。这个名称是固定的,JVM将其称为应用程序的入口点


      字符串参数[]

      这些是Java应用程序在运行时接受的字符串类型的参数


      我只是想插手这件事。不过,其他人对这个问题的回答非常好

      完整的主要方法声明应为:

       public static void main(final String[] args) throws Exception {
      
       }
      
      args被宣布为最终参数,因为从技术上讲,它们不应被更改。它们是用户提供的控制台参数

      您通常应该指定main抛出异常,以便堆栈跟踪可以轻松地回显到控制台,而无需执行例如printStackTrace()等操作

      至于数组语法。我喜欢这样。我想这有点像法语和英语的区别。 在英语中是“黑色汽车”,在法语中是“黑色汽车”。 哪个是重要的名词,car还是black

      我不喜欢这种事情:

      String blah[] = {};
      
      这里重要的是它是一个字符串数组,所以它应该是

      String[] blah = {};
      

      布拉只是一个名字。我个人认为,在Java中,数组有时可以以这种方式声明是有点错误的。

      您想解释多少,他们是初学者吗?当我第一次开始使用Java时,我的教授只是说“就是这样”,直到我们开始创建自己的函数。之后,他解释了字符串args[]的用途。可能应该是
      String[]args
      ,而不是
      String args[]
      ,否则初学者将永远对数组语法感到困惑。@Eng.Fouad这个问题没有解决
      static
      。另外,这与使用
      args
      作为输入参数无关。@JoelWestberg:两者都可以接受,尽管将其放在类型而不是变量周围是惯例。再说一次,这里有一个varargs,它是main的签名…@Makoto,我知道。但是从教过intro的经验来看