在一本关于 Core Java 的书中,我发现了这样的摘录:
想想以何种方式
对象类可以实现克隆。它
对物体一无所知,
所以它只能逐个字段
复制。如果对象中的所有数据字段
是数字或其他基本类型,
复制字段就可以了。但
如果该对象包含对
子对象,然后复制字段
给你另一个参考
子对象,所以原来的和
克隆对象仍然共享一些
信息。
读完这篇文章后我想知道How is the clone method originally implemented in Object Class?
令我困扰的是:一个方法如何能够Object
当类对子类对象一无所知时,它会逐个字段克隆子类对象吗?
实际上,clone()
是在本机代码中实现的,所以我假设它只是进行内存复制(复制所有字节)而不知道内容。
除此之外,还有反射 API 来获取有关类的知识(但是速度会更慢)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)