他大爷的,面试被问到,没答出来
先说结论:引用可变,地址不能变,内容可以改变,修饰基本数据类型值不能变
上代码
先搞一个测试类
public class Dog {
public final String name="大黄";
public final Integer age=10;
public final StringBuilder color=new StringBuilder("黄色");
public Dog() {
}
@Override
public String toString() {
return "Dog{" +
"name='" + name + '\'' +
", age=" + age +
", color=" + color +
'}';
}
}
开始测试
@org.testng.annotations.Test
public void test0017(){
Dog dog = new Dog();
System.out.println(dog.age); //10
System.out.println(dog.name); //大黄
System.out.println(dog.color); //黄色
System.out.println("=====内容可变======");
dog.color.append("五彩斑斓的");
System.out.println(dog.age); //10
System.out.println(dog.name); //大黄
System.out.println(dog.color); //黄色五彩斑斓的
System.out.println("======引用可变=====");
Dog dog1 = new Dog();
dog1=dog;
System.out.println(dog1);//Dog{name='大黄', age=10, color=黄色五彩斑斓的}
}