为什么克隆Object的对象是不可能的?

Sau*_*iya 0 java

Object类具有用于创建完全重复对象的clone方法.这个方法适用于每个类,但为什么我不能创建Object类的对象副本?这种行为背后有哪些Java概念?

我尝试了两种不同的情况,但它不起作用.它给出了编译时错误:Object类型的方法clone()不可见

Object o = new Object();
Object o2 = o.clone();

Object o = new Test(); // Some Test class
Object o2 = o.clone();
Run Code Online (Sandbox Code Playgroud)

Tet*_*ure 6

Object.clone()有受保护的访问权限(这就是你收到错误的原因),因此不能像这样直接调用.您必须clone()在您自己的类中重写并使该类实现该Cloneable接口.

从以下链接:

Object类本身并不实现Cloneable接口,因此在类为Object的对象上调用clone方法将导致在运行时抛出异常.

有关详细信息,请参见此处