java对象引用传递
-
引用传递也称为传地址,实际参数的引用(地址)被传递给方法中对应的形式参数,在方法中,对形式参数的操作实际上就是对实际参数的操作,方法执行中形式参数改变将影响实际参数。
-
传引用的数据类型为除String以外的所有复合数据类型,包括数组、类、接口。
class A{int i = 0;
}
public class Test{public stasic void add(A a) {a.i++;//直接改变了实际参数a}public static void main(String args[]) {A a = new A();add(a);System.out.println(a.i);//输出1}
}
class A{int i = 0;
}
public class Test{public stasic void add(A a) {a = new A();//此时构造了新的A对象,不是传递的那个对象a.i++;//不会影响实际参数的值。}public static void main(String args[]) {A a = new A();add(a);System.out.println(a.i);//输出0}
}