Pra que serve o metódo clone ?
Bem eu acho que ele cria uma nova instância do objeto à qual estou clonando com as mesmas
características é isto mesmo ?
Eu sou obrigado implementar a interface Cloneable para usar o método clone …?
Vejam o exemplo que peguei no google:
abstract class Documento implements Cloneable {
protected Documento clone() {
Object clone = null;
try {
clone = super.clone();
} catch (CloneNotSupportedException ex) {
ex.printStackTrace();
}
return (Documento) clone;
}
}
class ASCII extends Documento {
}
class PDF extends Documento {
}
class Cliente {
static final int DOCUMENTO_TIPO_ASCII = 0;
static final int DOCUMENTO_TIPO_PDF = 1;
private Documento ascii = new ASCII();
private Documento pdf = new PDF();
public Documento criarDocumento(int tipo) {
if (tipo == Cliente.DOCUMENTO_TIPO_ASCII) {
return ascii.clone();
} else {
return pdf.clone();
}
}
}