Вы не можете изменить java.lang.Object.clone()
.Вы можете переопределить clone()
, чтобы сделать его публичным методом в любом определяемом вами классе, хотя это довольно бесполезно, если только класс (или некоторый класс в его иерархии) не объявлен для реализации интерфейса Cloneable
.
public class MyClass implements Cloneable {
public Object clone() {
return super.clone();
}
}
Другой обычный подход к копированию - определить конструктор копирования:
public class MyClass {
public MyClass() {
// standard default constructor
}
public MyClass(MyClass other) {
// copy constructor -- initialize from values in other
}
}