1,ArrayList类图
实现了Cloneable对象可以支持clone功能
1.Java对象要支持clone功能。但不是所有Java对象都应该可以clone,而是要让用户自己标记出哪些类是可以clone的
2.clone()是一个特殊的多态操作,最好是有JVM的直接支持
一个实现了Cloneable接口的类跟一个没实现该接口的类有啥区别呢?
1.从JVM的角度看,这就是一个标记接口而已。实现了就是打上cloneable标记,没实现就是没这个标记。
2,然后到clone()的基本实现中,JVM会去检测要clone的对象的类有没有被打上这个标记,有就让clone,没有就抛异常。就这么简单。
实现
1,创建一个实体类User实现Cloneable重写clone方法
public class User implements Cloneable{
public String name;
public int age;
public User() {
}
public User(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;