作为Java新手,我理解传递给方法的值称为参数,接收方法定义中的值的变量称为参数。
现在,我在哪里看到用main方法编写的Java类,方法签名说
public static void main(String args []) {}
例如。 http://download.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html
虽然我可以提供任何变量名称,但如果他们给出了 params [] 而不是args [],那是不是很合理?
任何理论?
答案 0 :(得分:5)
老实说,没有理由你无论如何都不能称呼它。称之为args
只是惯例。我不建议除了args
之外调用它,因为这几乎是每个Java程序员所期望的。但没有任何迹象表明你无法重命名它。
class BadArgs {
public static void main(String params[]) {
System.out.println(params[0]);
}
}
C:\Documents and Settings\glowcoder\My Documents>javac BadArgs.java
C:\Documents and Settings\glowcoder\My Documents>java BadArgs Hello!
Hello!
答案 1 :(得分:4)
这个名字很合适。 args
是一个参数,其值是命令行参数的数组。
答案 2 :(得分:4)
首先,这是一个在许多语言中相当规范的名称。例如在C中,您通常会将main
定义为:
int main(int argc, char *argv[]);
(其中argc
是计数,argv
是指向每个参数的指针数组。 Java模仿了这一点。
我只能猜测为什么规范名称是args
而不是params
。也许是因为如果你想知道,例如第0个arg,你引用args[0]
?
答案 3 :(得分:4)
传递给函数的值是参数。包含这些参数的命名变量称为参数。因此,如果您想要模糊,请在每种方法中为参数命名arg1
,arg2
是完全有效的。
这个问题的答案可能会更清楚(或不):
答案 4 :(得分:1)
它可能真的是两种方式,args与params几乎相同,我猜他们称之为args,因为它的命令行“args”是参数。
答案 5 :(得分:0)
main()是一种特殊方法。和args []指的是当程序从程序用户启动时,main函数接收命令行参数。