java 引用类型 传值
点击查看代码
Demo user = new Demo(1);
change(user);
System.out.println("user---"+user.getAge());
public static void change(Demo demo){
Demo sd = new Demo(5);
demo= sd;
}
JAVA 对象传递不是引用传递吗?答案是肯定的。
当 demo对象 刚进入方法的时候地址指向Demo@711, 执行完 Demo sd = new Demo(5); demo= sd;之后地址指向 Demo@718.
问题在于 Demo sd = new Demo(5); demo= sd; ,局部方法内部的赋值只是在局部方法内生效,当方法结束,demo 地址还会指向原来的地址。
点击查看代码
public static void change(Demo demo){
demo.setAge(5);
}
引用传递没有问题