二十三。克隆

对象中的克隆:

   (1)克隆的限制

         Java对于克隆(Clone)有一些限制, 主要表现如下:

         a.被克隆的类必须自己实现Cloneable接口,以指示Object.cloneO) 方法可以合法地对该类实例进行按字段复制。Cloneable接口实际上是个标识接口,没有任何接口方法。

         b.实现Cloneable接口的类应该使用公共方法重写Object.clone (它是受保护的)。某个对象实现了此接口就克隆它是不可能的。

         c.在Java.lang Object类中克隆方法是这么定义的:

                protected object clone()
                throws CloneNotSupportedException

               创建并返回此对象的个副本。 表明是一个受保护的方法, 同个包中可见。 按照惯例,返回的对象应该通过调用super.clone 获得。

     (2)浅层克隆和深层克隆            

            a.浅层克隆:主要复制基本对象的值。
            b.深层克隆:当类存在聚合关系时,克隆就必须考虑聚合对象的克隆。可以复制引用类型的字段。

浅层克隆:

 

 

深层克隆:

 今日问题:克隆没理解到位

 明天学习继承。

posted @ 2020-07-28 16:45  韩佳龙  阅读(78)  评论(0编辑  收藏  举报