web-dev-qa-db-ja.com

Javaの引数とパラメーターの違い

可能性のある複製:
引数とパラメーターの違いは何ですか?

インタビューの質問をいくつか受けていました。この質問に対する確固たる答えを思い付くことができませんでした。

Javaの引数とパラメーターの違いは?
それらはどう違いますか?

39
AppSensei

通常、パラメータはメソッドの定義に表示されます。引数は、実行時にメソッドに渡されるインスタンスです。

ここで説明を見ることができます: http://en.wikipedia.org/wiki/Parameter_(computer_programming)#Parameters_and_arguments

51
yiannis

パラメータという用語は、メソッド/関数の宣言または定義のメソッド/関数名に続く括弧内の宣言を指します。引数という用語は、メソッド/関数呼び出しの括弧内の式を指します。つまり.

  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);
    }

}

ありがとうございました!

15

さまざまな視点があります。 1つは、それらが同じであることです。しかし実際には、正式なパラメーター(メソッドのヘッダーでの宣言)と実際のパラメーター(呼び出し時に渡される値)を区別する必要があります。 「正式なパラメータ」および「実際のパラメータ」という句は一般的ですが、「正式な引数」および「実際の引数」は使用されません。これは、「引数」が主に「実際のパラメータ」を示すために使用されるためです。その結果、一部の人々は、「パラメータ」は「正式なパラメータ」のみを示すことができると主張しています。

8

ではない。それらはまったく同じです。

ただし、一部の人々は、パラメーターがメソッドシグネチャのプレースホルダーであると言います。

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

文字列sとint iは、パラメーターと呼ばれることもあります。引数は実際の値/参照です:

myClassReference.doMethod("someString", 25);

"someString"と25は引数であると言われることがあります。

5
stealthjong

Javaには、暗黙的なパラメーターと明示的なパラメーターの2種類のパラメーターがあります。明示的なパラメーターは、メソッドに渡される引数です。メソッドの暗黙的なパラメーターは、メソッドが呼び出されるインスタンスです。引数は、2つのタイプのパラメーターのうちの1つにすぎません。

2
Tristan Hull