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只开始运行带有特定
签名的程序,人们可以把签名想象成自己的名字——这就是Java如何区分其他人的publicstaticvoidmain(String[]args)
和真实的main()
main()
是String[]args
s的集合,由空格分隔,可以在终端上的程序中键入。很多时候,初学者不会使用这个变量,但它总是在那里以防万一String
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的经验来看