Java中使用对象的父类的clone方法和直接赋值都是浅拷贝,例如:
class Student implements Cloneable { ... public Object clone() throws CloneNotSupportedException { Object object = super.clone(); return object; } } public class Main { public static void main(String[] args) throws CloneNotSupportedException { Student student1 = new Student(); Student student2 = (Student)student1.clone(); } }
和
class Student{ ... } public class Main { public static void main(String[] args) { Student student1 = new Student(); Student student2 = student1; } }
效果是一样的。
参考: