import java.util.Arrays;
public class Main {
public static void main(String[] args) {
Main main = new Main();
String str = "123";
System.out.println("before:"+str);
main.changeStr(str);
System.out.println("after:"+str);
System.out.println("==============================");
User user = new User("user A");
System.out.println("before:"+user.name);
main.changeObject(user);
System.out.println("after:"+user.name);
System.out.println("==============================");
User user2 = new User("user A");
System.out.println("before:"+user2.name);
main.changeObjectValue(user2);
System.out.println("after:"+user2.name);
System.out.println("==============================");
int a[] = {1,2,3};
System.out.println("before:"+Arrays.toString(a));
main.changeArrayValue(a);
System.out.println("after:"+Arrays.toString(a));
}
public void changeStr(String str){
str = "hello world";
}
public void changeObject(User u){
u = new User("user B");//此处无法修改u为一个新的对象
}
public void changeObjectValue(User u){
u.name = "user C";//此处可以修改u对象的值
}
public void changeArrayValue(int[] a){
a[0] = 4;
a[1] = 5;
a[2] = 6;
}
static class User{
public User(String name){
this.name = name;
}
String name;
}
}
输出结果如下:
before:123
after:123
==============================
before:user A
after:user A
==============================
before:user A
after:user C
==============================
before:[1, 2, 3]
after:[4, 5, 6]
小额赞助,鼓励博主写出更多好文章
UBOCK
找方法不找借口
和安全有关的那些事(非对称加密、数字摘要、数字签名、数字证书、SSL、HTTPS及其他)