我目前正在处理Java的旧代码,遇到了一个表示形式参数的类,但我不知道为什么这样。我阅读了关于C++形式参数的文章,但它让我感到困惑,因为在C++中,它与参数相同(我对此说法存有疑问),而在我的旧代码中,它是一个只有一个私有int成员变量的类(通过其set和get方法存储一个数字),但是,坦白地说,我没有找到那个声明的原因。
我目前正在处理Java的旧代码,遇到了一个表示形式参数的类,但我不知道为什么这样。我阅读了关于C++形式参数的文章,但它让我感到困惑,因为在C++中,它与参数相同(我对此说法存有疑问),而在我的旧代码中,它是一个只有一个私有int成员变量的类(通过其set和get方法存储一个数字),但是,坦白地说,我没有找到那个声明的原因。
public void callIt(String a)
callIt
有一个单一的形式参数,它是一个String
。在运行时,我们谈论实际参数(或参数),即:
callIt
函数有一个字符串类型的形式参数。在运行时,我们称其为实际参数(或参数),即:
callIt("Hello, World");
"Hello, World" 的String
是实际参数,String a
是形式参数。
来自维基百科对于parameter(参数)的解释:
术语参数(有时称为形式参数)通常用于指函数定义中的变量,
以及:
argument(有时称为实际参数)指的是传递的实际输入。
完全不反对Elliot Frisch的观点,但我可以更简单地说明:
变量w
是以下函数定义中的“形式参数”:
void foobar(Widget w) {
...
}
nextWidget(...)
返回的值是在你编写以下函数调用时的"实际参数":foobar(nextWidget(...));
好的,无论是Java还是任何语言,这些定义总是成立的:
调用者 - 调用函数的函数。
被调用者 - 被调用者执行调用者的函数。
在编程中,参数术语技术上指的是由调用者传递给被调用者的数据。
而参数术语技术上则是指正在传递的数据类型,更具体地说是用于识别数据类型的标识符。因此,参数多多少少是指标识特定类型的标识符。 进一步来说,形式参数是被调用方法签名中使用的标识符。
实际参数是调用程序在调用时使用的标识符。
由于您知道我们甚至可以直接在调用中将参数(即数据)传递给被调用者,因此实际参数不是强制性的,因此可以直接传递数据,而形式参数始终是强制性的。