Test01
无图
/**
不可变类
1.使用private和final修饰符修饰成员变量
2.构造一个含参构造器,
3.仅为该类提供getter方法,
4.如果有必要,重写obeject类中的 hashcode()和equals()方法
而下面的例子为:
一个不可变类中包含了一个可变的引用类型 (引用:用final修饰后,地址不可变,而内容可变)
所以可以在 不可变类中,单独创建新的引用来指向参数带进来的引用,
(可以理解为,创建一个盒子,来装外来的引用)
*/
class Name{
private String name;
public Name(String name){
this.name=name;
}
public void setName(String name){
this.name=name;
}
public String getName(){
return this.name;
}
}
public class Test02{
private final Name name;
public Test02(Name name){
//this.name=name 可变的引用
this.name=new Name(name.getName());//创建新的引用 new Name()
}
public Name getName(){
return name;
}
public static void main(String [] args){
Name n=new Name("孙悟空");
Test02 person=new Test02(n);
System.out.println(person.getName().getName());
n.setName("猪八戒");
System.out.println(person.getName().getName());
}
}
*** 清醒小刻 ***
**** 没错,我说的都是错的!!****
咦,你知道吗?
今日啥也没有。。。。
...