引数をメソッドに渡す 2 つの方法:
値による呼び出し:
参照による呼び出し:
プリミティブ型パッセージ:
例:
class Test { void noChange(int i, int j) { i = i + j; j = -j; } } class CallByValue { public static void main(String[] args) { Test ob = new Test(); int a = 15, b = 20; System.out.println("a and b before call: " + a + " " + b); ob.noChange(a, b); System.out.println("a and b after call: " + a + " " + b); } }
オブジェクト通路:
オブジェクトがメソッドに渡されるとき、Java は参照による呼び出しを使用します。
メソッドはオブジェクトへの参照を受け取ります。つまり、メソッド内で行われた変更は元のオブジェクトに影響します。
例:
class Test { int a, b; Test(int i, int j) { a = i; b = j; } void change(Test ob) { ob.a = ob.a + ob.b; ob.b = -ob.b; } } class PassObRef { public static void main(String[] args) { Test ob = new Test(15, 20); System.out.println("ob.a and ob.b before call: " + ob.a + " " + ob.b); ob.change(ob); System.out.println("ob.a and ob.b after call: " + ob.a + " " + ob.b); } }
change() メソッド内の変更は、引数として渡された ob オブジェクトに影響します。
プリミティブ型とオブジェクトの違い:
プリミティブ型: 値によって渡され、メソッドへの変更は元の値に影響しません。
オブジェクト: 参照によって渡され、メソッドへの変更は元のオブジェクトに影響します。
最終概要:
Java で引数を渡すには、値または参照を使用できます。プリミティブ型は値によって渡されますが、オブジェクトは参照によって渡されるため、元の引数に異なる影響が生じます。
以上が引数の受け渡し方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。