1.访问器和更改器
访问器:能访问私有的变量:例如getAge
访问器中得自己写代码保证数据的安全性比如:
利用深拷贝数组,保证了数据的安全性,不会出现访问的时候堆地址的指向改变
(每次读的时候都new一个新地址,每次都不影响其他的堆地址,每次都是拷贝方法)
内存指向是不变的都是指向的Person对象里面的
2. 访问器如何保障线程安全?举例说明。(3分)
不是本身可以保证,是需要自己处理保证。
答: 原有的属性是私有的,通过访问器访问,(没有set)就是只读,如果暴露了数组的地址,那么外部就可以进行修改,打破了只读的规则,所以在访问器中创建一个新的数组(访问器中进行深拷贝),把新的数组暴露给外部,对原来的属性数组没有任何影响