为什么在java类中的main方法里定义一个Object却无法调用clone方法

2022-08-07 科技 128阅读
调用Object.clone()时,当我们在自己的类里覆盖clone()时,对于super.clone()来说是最关键的是:根类中的clone()方法负责建立正确的存储容量,并通过“按位复制”将二进制位从原始对象中复制到新对象的存储空间。也就是说,它并不只是预留存储空间以及复制一个对象——实际需要调查出欲复制之对象的准确大小,然后复制那个对象。由于所有这些工作都是在由根类定义之clone()方法的内部代码中进行的(根类并不知道要从自己这里继承出去什么),所以大家或许已经猜到,这个过程需要用RTTI判断欲克隆的对象的实际大小。采取这种方式,clone()方法便可建立起正确数量的存储空间,并对那个类型进行正确的按位复制。

引用自:
http://zhidao.baidu.com/question/415743919.html

个人理解:clone虽然是Object的方法,但是需要一个目标去执行,直接调用就等于你不复制就去尝试粘贴,当然没有了。
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com