値の転送と参照の転送とは?


1.値の転送例コードは次のとおりです.
public class A {
	public void method(int arg) {
		arg = 10;
		System.out.println(arg);
	}
	
	public static void main(String[] args) {
		int var = 5;
		A a = new A();
		a.method(var);    //var , var 
		System.out.println(var);
	}
}

出力結果は次のとおりです.
10
5
出力結果は,メソッドmethod(int arg)のコードが変数varの値を変化させず,値伝達に属し,すなわち,パラメータの値を変化させることが実パラメータに影響を及ぼさず,味噌紫であることを示した.
2.参照転送、サンプルコードは次のとおりです.
public class User {
	public String username = "";
	
	public User(String username) {
		this.username = username;
	}

	@Override
	public String toString() {
		return username;
	}
}
public class B {
	public void method(User user) {
		user.username = " ";
		System.out.println(user);
	}
	
	public static void main(String[] args) {
		B b = new B();
		User san = new User(" ");
		b.method(san);		 //u , , 
		System.out.println(san);
	}
}

出力結果は次のとおりです.
李四
李四
出力結果は,メソッドmethod(User u)コードがsanの内容を修正することができ,参照伝達に属すること,すなわち,パラメータ指向オブジェクトの属性を修正することが実パラメータ指向オブジェクトの属性に影響を及ぼすことを示した.
注:リファレンス伝達が発生した場合、シェイプのリファレンスを変更する場合(シェイプがオブジェクトを指す属性を変更するのではなく)、実パラメータのリファレンスには影響しません!!!抽象的ですか?ここを急いでテーマを作ってください.