gpt4 book ai didi

java - super的克隆是做什么的?

转载 作者:行者123 更新时间:2023-11-29 07:14:57 25 4
gpt4 key购买 nike

我正在阅读 Effective Java
中有关clone 的内容它说在 clone 中,第一个被调用的方法必须是 super.clone()
在这种情况下,我想最终我们最终会调用 java.lang.Objectclone 进入层次结构链。
但我认为对象的克隆没有做任何事情。
查看代码我看到:
protected native Object clone() throws CloneNotSupportedException; 并且没有实现。
但是从段落来看,如果一个类只有原始字段调用
(ClassX) super.clone() 足以创建克隆。
但是怎么办? super.clone 属于对象

最佳答案

对象中的这个声明

  protected native Object clone() throws CloneNotSupportedException;

... 表示clone方法是在native代码中实现的;即幕后发生了魔法。

您可以放心,Object.clone() 实际上确实做了一些事情...只要您已声明您的类实现了 Cloneable。但它的作用无法用普通的 Java 表达。

关于java - super的克隆是做什么的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10408732/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com