一. 前置理解:
1.首先你需要了解基本数据类型和引用数据类型,值传递和引用传递,这里就不展开赘述了,不了解的可以自行递归。
2.以下面公共代码为例的结构图是这样的
image.png
敲黑板!!!! 一定要学好基础知识,否则当你打开一篇文字你会接着打开更多的文章!!!
二. 如何实现拷贝
首先要实现Cloneable接口,并重写clone()方法,提升可见性,从Object类的clone()方法的访问修饰符我们可以看到他为protected,重写后可将其提升为public
三. 公共代码
1.Student类
public class Student {
private String name;
private int age;
private Achievement achievement;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public Achievement getAchievement() {
return achievement;
}
public void setAchievement(Achievement achievement) {
this.achievement = achievement;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
", achievement=" + achievement.toString() +
'}';
}
}
2. 成绩类
public class Achievement {
private String name;
private int sore;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getSore() {
return sore;
}
public void setSore(int sore) {
this.sore = sore;
}
public Achievement(String name, int sore) {
this.name = nam