记住一点! 形参是否跟实际参数是一个对象地址, 也就是栈中的对象引用地址是否为同一个;
例如
public class Test1 {
public static void changeStr(String str){
str=”4321”; //查询常量池中没有4321 所以创建一个对象, 此时的str 已经不是主函数里面的str。
}
public static void main(String[] args) { //入口处
String str=”1234″
changeStr(str);
System.out.println(str);
}
输出结果为 1234 方法changeStr并没有改变 主函数中的str;只是改变他方法内str对象
再例如:
public class Car {
public String name;
}
public static void changeCarName(Car car){
car.name="新车"; //是直接操作 形参的对象 并没有 创建新对象操作 ;
}
public static void main(String[] args) {
Car car= new Car();
car.name ="旧车";
changeCarName(car);
System.out.print(car.name);
}
输出“新车” :