¿Por qué clone tiene que implementar la interfaz Cloneable en Java?
Debido a que el método declarado por clonación es una interfaz
Entonces, al implementar la interfaz, debes implementar todos los métodos contenidos en la interfaz. La interfaz clonable aquí tiene solo un método de clonación<. /p>
Así que aquí está... Puntos adicionales
interfaz pública Cloneable Esta clase implementa la interfaz Cloneable para indicar que el método Object.clone() puede copiar legalmente instancias campo por campo de esta clase.
Si se llama al método de clonación de Object en una instancia que no implementa la interfaz Cloneable, se generará una excepción CloneNotSupportedException.
Por convención, las clases que implementan esta interfaz deben anular Object.clone (que está protegido) utilizando métodos públicos. Consulte Object.clone() para obtener detalles sobre cómo anular este método.
Tenga en cuenta que esta interfaz no contiene un método de clonación. Por lo tanto, no es posible clonar un objeto sólo porque implementa esta interfaz. Incluso si el método de clonación se llama de forma reflexiva, no hay garantía de que tenga éxito.
La respuesta es sí, cuando se implementa en este momento, el código interno se escribe de acuerdo con el propio usuario.
Las interfaces solo tienen declaraciones de funciones y no implementaciones de funciones
Entonces, el método de clonación aquí lo escribe el propio usuario
..... La respuesta complementaria a la respuesta es que la interfaz solo tiene declaraciones de funciones y no implementación de funciones;
¿Por qué se usa esto porque al escribir un programa, una clase solo puede heredar una clase, pero puede implementar N interfaces
Por ejemplo:
interfaz yuyu
{
public void tt() throw Exception;
// Si se define como una interfaz, no debe implementarse y la implementación informará un error;
// Esto solo se puede implementar cuando se usa más adelante. El propósito de usar la interfaz es compactar el código.
//Parece más intuitivo....
}
La demostración de clase pública implementa yuyu
{
public void tt() throw Exception
{
//Aquí está ¡¡¡Escriba código para una implementación específica!!!
//Aquí se pueden implementar N interfaces, pero aquí solo se implementa yuyu, pero la herencia solo puede heredar una
// También existe esto. La ventaja es que cuando muchas clases necesitan métodos similares,
// pueden implementar esta interfaz yuyu y no es necesario escribir mucho código. Probablemente por estas razones. .
}
} La respuesta agrega que no hay una interfaz vacía en Java, como la interfaz serializada Serializable
Estos significados y funciones específicos
(La serialización es un mecanismo utilizado para procesar flujos de objetos. El llamado flujo de objetos es para transmitir el contenido del objeto.
Puede leer y escribir el objeto transmitido, o puede transmitir Los objetos finales se transmiten a través de la red.
Todos están identificados por la función JDK. Si no implementa esta interfaz, tendrá que escribir su propio conjunto de especificaciones para el flujo de objetos. mecanismo de procesamiento.
Así que esto proporciona a los programadores de Java grandes beneficios (simplicidad, no sé si entiendes lo que dije anteriormente...).
Solo implementando esta interfaz se puede completar. la función que deseas...