跳到主要内容

简述写 clone()方法时,通常都有一行代码,是什么 ?

参考答案:

在Java中,当你重写Object类的clone()方法时,通常都需要包含以下这行代码:

super.clone();

这行代码调用了父类(即Object类)的clone()方法,以获取当前对象的一个浅拷贝。Object类的clone()方法会创建一个新的对象,并复制当前对象的所有非静态字段到新对象中。这个新对象是当前对象的一个浅拷贝。

注意,clone()方法默认是受保护的,所以在你的类中重写它时,通常需要将其访问修饰符更改为public,以便其他类可以访问它。

另外,要注意的是,clone()方法默认实现的是浅拷贝,如果你需要深拷贝(即复制对象及其所有子对象),那么你需要自己实现深拷贝的逻辑。

最后,需要注意的是,不是所有的对象都可以被克隆。如果一个类实现了Cloneable接口,那么它的对象就可以被克隆。如果一个类没有实现Cloneable接口,那么调用它的clone()方法会抛出CloneNotSupportedException异常。因此,通常在你重写clone()方法时,还需要在你的类声明中加上implements Cloneable