Java 克隆对象的实例是什么?

Java 克隆对象的实例是什么?,java,clone,Java,Clone,如果类a公开了对象的clone()方法: @Override public Object clone() { return super.clone(); } 使用clone()创建的实例的instanceof(或getClass())是什么? 使用clone()方法创建的类B扩展了一个的实例如何 编辑 澄清:我这样问是因为即使在编译之前,EclipseJava编辑器要求将返回的clone()实例强制转换为指定的对象。这表明返回的类是Object(从技术上讲是这样,但到目前为止所有的答案

如果类a公开了对象的
clone()
方法:

@Override
public Object clone() {
    return super.clone();
}
使用
clone()
创建的实例的
instanceof
(或
getClass()
)是什么?
使用
clone()
方法创建的
类B扩展了一个
的实例如何

编辑
澄清:我这样问是因为即使在编译之前,EclipseJava编辑器要求将返回的clone()实例强制转换为指定的对象。这表明返回的类是
Object
(从技术上讲是这样,但到目前为止所有的答案都说该类应该是A)


只要它通过调用
super.clone()
使用
object.clone()
,并且应该由

读这本书

这会打印
字符串
,但错误在于:

它应该是父类的实例。但这取决于实现者编写一个传统的
克隆
方法


在这方面以及其他方面,Java中的克隆是完全不可能的。

与启动器一样,它使用原始父类,通过调用super.clone()始终使用Object.clone()。更多访问


答案已更新,请看!!嗨,你有没有办法把链接的主题总结成你的答案。这将使您的答案更好,并且不依赖于外部材料,这些材料可以随时移除。谢谢此帖子已在要标记或删除的审阅队列中弹出。请避免只链接答案。我以前也对你的一些回答发表过评论。请编辑和详细说明或张贴链接作为评论,因为你有足够的声誉
A original = new A();
A cloned1 = original.clone(); // Eclipse marks this as error
A cloned2 = (A) original.clone(); // This is OK 
public class SomeTest {
    @Override
    protected Object clone() {
        return "";
    }
    public static void main(String[] args) {
        System.out.println(new SomeTest().clone().getClass().getSimpleName());
    }
}