一段小程序 对象的值是否改变

package cn.lifx.test;

public class Test2
{
	private int x = 0;
	private int y = 0;
	
	public Test2(int x, int y)
	{
		this.x = x;
		this.y = y;
		System.out.println(x + " " + y);
	}
	
	public void s(Test2 tt)
	{
		Test2 t = new Test2(5, 6);
		tt.x = t.x;
		tt.y = t.y;
	}
	
	public void ss(Test2 tt)
	{
		Test2 t = new Test2(5, 6);

		tt = t;
	}
	
	public static void main(String[] args)
	{
		Test2 t = new Test2(1, 2);
		
		t.ss(t);
		System.out.println(t.x + " " + t.y);
		
		t.s(t);
		System.out.println(t.x + " " + t.y);
	}
}

 

输出为:

 

1 2
5 6
1 2
5 6
5 6

 

如果把main里面的t.ss(t)和t.s(t)换一个位置的话,输出为:

 

1 2
5 6
5 6
5 6
5 6

 

你可能感兴趣的:(java 基础)