![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 package 对象克隆; 2 class A implements Cloneable{//要具备clone()功能必须要实现Cloneable接口,此接口里无方法,只起标识作用。 3 private String value; 4 public A(String value){ 5 this.value=value; 6 } 7 public void setValue(String value) { 8 this.value = value; 9 } 10 @Override 11 public String toString() { 12 return "value="+value; 13 } 14 @Override 15 protected Object clone() throws CloneNotSupportedException { 16 return super.clone(); 17 }//因为Object类里的clone方法是protected权限,所以要重写才能在主方法里调用。 18 } 19 public class Test_clone { 20 public static void main(String[] args) { 21 A a1=new A("我是A1"); 22 A a2=null; 23 try { 24 a2=(A)a1.clone(); 25 } catch (CloneNotSupportedException e) { 26 e.printStackTrace(); 27 } 28 System.out.println(a1);//value=我是A1 29 System.out.println(a2);//value=我是A1 30 a1.setValue("a1->A1"); 31 System.out.println(a1);//value=a1->A1 32 System.out.println(a2);//value=我是A1 33 } 34 }