【问题标题】:Difference between arguments and parameters in Java [duplicate]Java中参数和参数之间的区别[重复]
【发布时间】:2012-09-24 09:54:00
【问题描述】:

可能重复:
What's the difference between an argument and a parameter?

我正在处理一些面试问题。我无法为这个问题想出一个可靠的答案:

Java中实参和形参的区别?
它们有何不同?

【问题讨论】:

  • public static void main(String[]args) : args 是一个包含参数列表的参数
  • 如果你结婚了,你只需要担心争论。否则,只需对两者都使用 term 参数。
  • 重点是这个领域的术语不是很清楚,所以这是另一个愚蠢的面试问题。
  • 来自 Oracle 的教程 (docs.oracle.com/javase/tutorial/java/javaOO/arguments.html):注意:参数是指方法声明中的变量列表。参数是调用方法时传入的实际值。调用方法时,使用的参数必须在类型和顺序上与声明的参数匹配。

标签: java parameters arguments


【解决方案1】:

他们不是。它们完全一样。

但是,也有人说参数是方法签名中的占位符:

public void doMethod(String s, int i) {
  ..
}

String s 和 int i 有时被称为参数。参数是实际值/引用:

myClassReference.doMethod("someString", 25);

"someString" 和 25 有时被称为参数。

【讨论】:

  • 哦,好吧,如果它们相同,为什么会有两个不同的术语?
【解决方案2】:

通常,参数是出现在方法定义中的内容。参数是在运行时传递给方法的实例。

您可以在此处查看说明:http://en.wikipedia.org/wiki/Parameter_(computer_programming)#Parameters_and_arguments

【讨论】:

  • 原语也可以是参数。 ;)
  • @PeterLawrey 这些术语在链接的 WP 页面中的使用方式,42 可以被认为是 int 类型的实例。
【解决方案3】:

在java中,参数有两种,隐式参数和显式参数。显式参数是传递给方法的参数。方法的隐式参数是调用该方法的实例。参数只是两种类型的参数之一。

【讨论】:

    【解决方案4】:

    有不同的观点。一是它们是相同的。但在实践中,我们需要区分形式参数(方法头中的声明)和实际参数(在调用点传递的值)。虽然短语“形式参数”和“实际参数”很常见,但不使用“形式参数”和“实际参数”。这是因为“参数”主要用于表示“实际参数”。因此,有人坚持“参数”只能表示“形式参数”。

    【讨论】:

      【解决方案5】:

      术语参数是指方法/函数声明或定义中方法/函数名称后面的括号内的任何声明;术语参数是指方法/函数调用括号内的任何表达式。即

      1. 函数/方法定义中使用的参数。
      2. 函数/方法调用中使用的参数。

      请查看以下示例以更好地理解:

      package com.stackoverflow.works;
      
      public class ArithmeticOperations {
      
          public static int add(int x, int y) { //x, y are parameters here
              return x + y;
          }
      
          public static void main(String[] args) {
              int x = 10;
              int y = 20;
              int sum = add(x, y); //x, y are arguments here
              System.out.println("SUM IS: " +sum);
          }
      
      }
      

      谢谢!

      【讨论】:

      • System.out.println(344);与int v=344; System.out.println(v);哪个是参数/参数?你能帮帮我吗?
      猜你喜欢
      • 2011-03-11
      • 2010-12-12
      • 1970-01-01
      • 2015-07-18
      • 2011-10-08
      • 2012-04-08
      • 2013-08-28
      • 2017-12-14
      相关资源
      最近更新 更多