java值传递和引用传递
先写三个例子把。 1、这个例子很简单,估计都知道,是值类型,按照值类型传递,传递是副本。所以结果依旧是20。 static void change(int age) { age = 10; } public static void main(String[] args) { int age = 20; change(age); System.out.println(age); } 2、这个一看是引用类型,按照引用类型传递,传递“址”,那么结果就是10,嗯,对,确实是10。 public class UserPo { private int age; public int getAge() {return age;} public void setAge(int age) {this.age = age;} UserPo(int age) {this.age = age;} static void change(UserPo user) { user.setAge(10); } public static void main(String[] args) { UserPo user = new UserPo(20); change(user); System.out.println(user.getAge()); } } 3、再来看看这个,也是引用类型,引用传递,输出结果是10吗