'public static void main(String[] args)'中'String args[]'和静态的说明



您如何向初学者很好地解释以下摘录中String args[]的含义和static的使用?

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

我会分手

public static void main(String args[])

部分:

public

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

<小时 />

static

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

<小时 />

void

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

<小时 />

main

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

<小时 />

String args[]

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

我会向初学者指出有关 Main 函数的 Wiki 文章,然后用这个来补充它。

  • Java只开始运行具有特定public static void main(String[] args)签名的程序,人们可以将签名视为自己的名字 - 这就是Java如何区分其他人的main()和一个真正的main()

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

public static void main(string [] args)

public - 它是访问说明符意味着从我们可以访问它的每一个地方; static -access 修饰符意味着我们可以直接使用类名调用此方法,而无需创建它的对象; void - 这是返回类型; main - 方法名称 string [] args - 它只接受字符串类型的参数...并将其存储在字符串数组中

  • public :它是一个访问说明符,意味着它将被公开访问。
  • static :它是访问修饰符,这意味着当加载Java程序时,它将自动在内存中创建空间。
  • void:它是一个返回类型,即它不返回任何值。
  • main() :它是一个方法或函数名称。
  • string args[]:它是一个命令行参数,它是字符串格式的变量集合。

如果我向某人解释这一点,我会说我们稍后会谈到它,现在你需要知道运行程序的方法是使用:

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

假设他/她知道数组是什么,我会说 args 是一个参数数组,你可以展示一些很酷的例子。

然后,在你了解了Java/JVM之类的东西之后,你最终也会得到静态和公共的修饰符。

然后你可以花一些时间谈论这些恕我直言的含义。

你可以提到其他"酷"的东西,比如varargs,你可以在以后的Java版本中使用它。

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

我只是想我会加入这个。不过,其他人已经很好地回答了这个问题。

完整的主方法声明应该是:

 public static void main(final String[] args) throws Exception {
 }
参数被

宣布为最终参数,因为从技术上讲,它们不应该被更改。它们是用户给出的控制台参数。

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

至于数组语法。我更喜欢这种方式。我想这有点像法语和英语之间的区别。在英语中是"一辆黑色汽车",在法语中是"一辆黑色汽车"。哪个是重要的名词,汽车或黑色?

我不喜欢这种事情:

String blah[] = {};

这里重要的是它是一个字符串数组,所以它应该是

String[] blah = {};

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

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

对于static你必须解释,它不是一个像另一个字段这样的字段:即使你有一千个类实例,它在 JVM 中也是唯一的

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

在你看完编码之后,你的工作开始了.

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

最新更新