clone方法用于复制对象,需实现Cloneable接口;浅拷贝复制基本类型和引用地址,深拷贝递归复制所有对象;根据引用对象是否需独立选择深或浅拷贝。

clone方法的作用:在Java中,clone() 方法是定义在 Object 类中的一个受保护(protected)方法,用于创建并返回当前对象的一个“副本”。调用该方法可以快速复制一个对象,避免重新构造和赋值的繁琐过程。要使用 clone(),类需要实现 Cloneable 接口,否则会抛出 CloneNotSupportedException 异常。
特点:
示例:
class Person implements Cloneable {
String name;
Address address;
public Person clone() {
try {
return (Person) super.clone();
} catch (CloneNotSupportedException e) {
return null;
}
}
}
此时调用 person.clone(),新对象的 address 和原对象指向同一个 Address 实例,这就是浅拷贝。
立即学习“Java免费学习笔记(深入)”;
特点:
clone() 方法,在其中对引用对象也调用 clone() 或通过其他方式创建新实例。示例:
public Person clone() {
try {
Person cloned = (Person) super.clone();
cloned.address = this.address.clone(); // 假设 Address 也实现了 Cloneable
return cloned;
} catch (CloneNotSupportedException e) {
return null;
}
}
这样,address 对象也被克隆,实现了深拷贝。
基本上就这些。理解 clone 的机制和深浅拷贝的区别,有助于写出更安全的对象复制逻辑。
以上就是Java中clone方法的作用是什么 深拷贝与浅拷贝的区别的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号