Si tengo:La confusión acerca de la interfaz cloneable y Object.clone() en Java
class foo implements Cloneable
y luego hacer:
bar = new foo();
bar.clone();
puedo obtener una copia superficial sin necesidad de escribir ningún código bar.clone()
como Normalmente tendría que hacer cuando implemente una interfaz.
Mi entendimiento es que las funciones de la interfaz deben ser rellenados por la clase que implementa, y Object.clone()
no tiene ninguna aplicación (según los documentos, "la clase de objeto en sí no implementa la interfaz Cloneable")
Así ¿De dónde viene mi clon superficial? ¿Dónde está el código que implementa bar.clone()
si Object.clone()
no tiene implementación? Estoy confundido.
Te animo a que aceptes una respuesta o pidas más aclaraciones para que podamos llegar a la respuesta correcta :-). – Tom
@Tom algo seguro :) – ambertch