4

我正在阅读 Sierra 和 Bates 的 SCJP 6 书。在第一章中有一节是关于“最后的论点”(第 41 页)。在本节中,它将“方法参数”称为“出现在方法声明中括号之间的变量声明”。

但是,在其他地方(在书中和网络上),约定是我们“传递参数”和“声明参数”。

我读错了吗?

4

1 回答 1

4

你是对的——这本书在这个特定的地方是错的,在其他地方也是错的。参数出现在调用站点,参数是方法声明的一部分。

Java 语言规范支持这一点——方法调用表达式具有参数列表(JLS 15.12);方法声明具有形式参数(JLS 8.4.1),其中包括:

当调用方法或构造函数时(第 15.12 节),实际参数表达式的值会在执行方法或构造函数的主体之前初始化新创建的参数变量(每个声明的类型)。

如果有什么安慰的话,这些术语在网上到处都被错误地使用了,即使是那些知道得更好但偶尔粗心的人……我也把自己包括在内,尽管我在这方面很努力:( A这方面的一个很好的例子是在 C# 中,其中版本 4 引入了命名参数和可选参数,但该功能的描述几乎是您可能提到的所有错误排列。

于 2012-09-21T05:52:17.873 回答