对象克隆

  克隆就是对象复制概念。这种情况一般很少,因为很少有人去复制已经存在的对象,Object类本身就支持对象克隆的方法:protected Object clone()throws CloneNotSupportedException 要想实现克隆,需要实现克隆接口,而关键的是该接口没有任何的抽象方法,所以该接口只是一个标识接口。表示一种能力。

范例:对象克隆实现

 

 1 package cn.Tony.demo;
 2 
 3 class Person implements Cloneable{//必须实现此接口
 4     private String name;
 5     private int age;
 6     public Person(String name, int age) {
 7         super();
 8         this.name = name;
 9         this.age = age;
10     }
11     public void setName(String name) {
12         this.name = name;
13     }
14     public void setAge(int age) {
15         this.age = age;
16     }
17     @Override
18     public String toString() {
19         return "Person [name=" + name + ", age=" + age + "]";
20     }
21     @Override
22         protected Object clone() throws CloneNotSupportedException {
23             return super.clone();//父类负责克隆
24         }
25 }
26 public class TestDemo {
27     public static void main(String[] args) throws Exception {
28         Person perA=new Person("张三",10);
29         Person perB=(Person)perA.clone();
30         perB.setAge(20);
31         System.out.println(perA);
32         System.out.println(perB);
33     }
34 }

 

  对象克隆操作本身意义不大,关键是需要清楚标识接口的作用,表示一个能力,而不是操作方法。

 

posted on 2019-03-08 15:11  朽木zidiao  阅读(67)  评论(0编辑  收藏  举报

导航