你如何向一个初学者很好地解释以下代码片段中String args[]
的含义和static
的用法?
class FirstApp {
public static void main(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应用程序在运行时接受的类型为String的参数。
我会将初学者引导到Main函数的维基百科文章,并补充以下内容。
Java仅使用特定的public static void main(String[] args)
签名来启动程序,可以将签名视为自己的名称-这就是Java可以区分其他人的main()
和真正的main()
之间的区别。
String[] args
是由空格分隔的String
集合,可以在终端上键入到程序中。 大多数情况下,初学者不会使用此变量,但它总是在那里以防万一。
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) {
...
}
假设他/她知道什么是数组,我会说args是一个参数数组,您可以展示一些很酷的例子。
然后在谈到Java/JVM和相关内容后,你最终会谈到修饰符,比如static和public。
然后您可以花点时间谈论这些的含义(据我所见)。
您还可以提到其他“酷”的东西,比如Java的后续版本中可以使用的varargs。
public static void main(String ...args) {
//...
}
public static void main(final String[] args) throws Exception {
}
String blah[] = {};
String[] blah = {};
"blah"只是一个名称。我个人认为,在Java中有时可以以那种方式声明数组,这可能是一个错误。
String blah[] = {};
是在Java的后期版本中包含的,以帮助来自C和C++背景的程序员。 - VikasString[]
)。static
,您需要解释它不像其他字段一样:即使您有数千个类的实例,它在JVM中是唯一的。main
是静态的,因为这是在jar
中找到它(链接在其自己的类中)的唯一方法。static 的正常用法是直接访问函数而不需要创建任何对象。就像在 Java 中的 main 方法,我们无法为该类创建任何对象来调用它。它将自动执行。如果我们想手动执行,我们可以在类内使用 main() 调用,从类外部使用 ClassName.main 调用。
String[] args
,而不是String args[]
,否则初学者会永远困惑于数组语法。 - Joel Westbergstatic
。而且,它也不是关于使用args
作为输入参数的问题。 - S.L. Barth[]
作为类型的一部分而不是变量名称的一部分。 - Joel Westberg