不可变对象
定义:不可变对象一旦创建,这个对象的(状态/值)不能更改了;
其内在的成员变量的值就不能修改了,如八个基本的包装类,string等
定义一个对象a(abc)
a是对象,对象是指针赋值,所有b也指向a的地址
a=def,由于string是个不可变对象,不可变对象是指值对象不再修改,即abc不会被修改
,而指针a的指向可以修改;
a=def相当于说,先申请一个def的空间再把空间的地址赋给a;
new个对象a,a指向abc,调用change(a),实参的指针会传给形参的指针;
在函数的内部,重新申请了个def,并且把def的值赋给b,b指向abc的就断了
b就指向了def,但是a指向的没有变
不可变对象,也是传指针(引用),只要是对象函数调用都是传指针;
由于不可改变,临时变量指向新内存,外部实参的指针不改动;