- 只访问对象而不修改对象的方法称为访问器方法。
- 访问对象并且能够改变对象状态的方法成为更改器方法。
在设计类方法中,当设计到需要返回一个对象时,如果这个对象中包含有更改器方法,则不建议直接返回对象引用,因为这样在对这个返回对象进行操作时,同时也改变了原对象中成员变量的状态,这破坏了类的封装性。
故,建议在返回一个可变数据域的拷贝时,使用clone函数,如
class Employee
{
...
public Date getHireDay()
{
return (Date) hireDay.clone();
}
...
}