假设我有一个名为Truck
的类,其中一个私有成员变量是Wheel
类。用于获取Wheel
变量的getter方法getWheel
将返回对它的引用,如下所示:
class Truck{
private Wheel wheel;
Truck(){
wheel=new Wheel();
}
Wheel getWheel(){
return this.wheel;
}
}
class Wheel{
int color;
}
现在,无论谁调用
getWheel
都可以随意修改私有成员对象:class me{
public static void main(String[] args){
Truck ye=new Truck();
Wheel v=ye.getWheel();
v.color=2;
}
}
这会破坏封装性,不是吗?对此应该怎么办才好?
wheel
的副本。 - Robby Cornelissen