有两个问题想问问大家。
第一个问题是,如果我定义了一个类(没有定义clone方法)。那么这个类的实例为什么不能调用clone方法呢?这个类的超类object不是已经定义了clone方法么;
第二个问题是,我如果想在我的类中定义自己的clone方法,必须要实现cloneable接口吗?这个接口里面什么都没有。为什么我不可以直接覆盖父类的clone方法。我看了很多都说 为了使用clone方法,类必须实现java.lang.Cloneable接口重写protected方法clone。为什么是必须实现cloneable,覆盖父类的clone方法不行么
------解决思路----------------------
1、Object的clone是protected方法,所以你是没法在外部调用的
2、cloneable和serializable一样,都只是标示性接口,是告诉jvm这个类是可以复制或则串行化的
------解决思路----------------------
1. 定义clone 方法是告诉JVM如何去克隆这个对象
2. 实现colonable接口是告诉JVM这个对象是具有克隆功能的。