Object 的 clone()是protected
如果要写一个实现对象的clone方法,必须对基本类型以外的属性都进行深度克隆。如果这些属性中有final修饰,则需去掉。
专家建议:最好使用其他途径代替对象拷贝。
如提供一个拷贝构造函数
如提供一个静态工厂方法
如 使用基于接口的拷贝构造函数或者静态工厂方法,允许客户来选择拷贝动作的具体实现。
之前使用过来实现图形编辑器上任何组件的拷贝(如按钮、输入框),就是使用了克隆。
Object 的 clone()是protected
如果要写一个实现对象的clone方法,必须对基本类型以外的属性都进行深度克隆。如果这些属性中有final修饰,则需去掉。
专家建议:最好使用其他途径代替对象拷贝。
如提供一个拷贝构造函数
如提供一个静态工厂方法
如 使用基于接口的拷贝构造函数或者静态工厂方法,允许客户来选择拷贝动作的具体实现。
之前使用过来实现图形编辑器上任何组件的拷贝(如按钮、输入框),就是使用了克隆。