public static void main(String[] ar)
{
String str = "0";
change(str);
System.out.println(str);
}
void change(String str)
{
str = "1";//这里会执行一步隐藏操作str = new String("1");开辟一块新地址,str指向新的内存地址,相当于下面代码中的u = new user();
System.out.println(str);
}
输出内容为:
1
0
类似于
class user
{
private String name;
private int age;
//get/set略
}
public class mainClass()
{
public static void main(String[] ar)
{
user u = new user();
u.setName("张三");
u.setAge(1);
change(u);
System.out.println(u.getName() +" "+ u.getAge());
}
void change(user u)
{
u = new user();//上面代码中str = ”1“相当于这一行代码
u.setName("李四");
u.setAge(22);
System.out.println(u.getName() +" "+ u.getAge());
}
}
输出结果为:
李四 22
张三 20