复制
将一个对象的引用赋值给另一个对象
1. 直接赋值
A a1 = a2;
a1变化 a2也变化
2.浅复制
复制引用不复制引用的对象
创建新对象,将当前对象的非静态字段赋值到新对象,值类型复制,引用类型,复制引用而不复制引用的对象
public class Resume implements Cloneable {
public Object clone() {
try {
return (Resume) super.clone();
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
3.深复制
复制对象本身,复制对象包含的引用指向的对象
public class Student implements Cloneable{
String name;
Resume resume;
public Student(String name, Resume resume) {
this.name = name;
this.resume = resume;
}
public Object clone(){
Student s = null;
try {
s = (Student) super.clone();
} catch (Exception e){
e.printStackTrace();
}
s.resume = (Resume) resume.clone();
return s;
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2022-08-22 1.Python基础语法
2021-08-22 UVA10082
2021-08-22 数组和字符串