Clase de estudiante:
clon del paquete clon;/*Para clonar, esta excusa debe implementarse: clonable, para marcar este objeto, clonable: esta clase implementa la interfaz clonable para indicar que el método Object.Clone () puede copiar legalmente la instancia de esta clase por campo. Esta interfaz es una interfaz de etiqueta, que nos dice que la clase que implementa esta interfaz puede realizar la copia de objetos. */public class Student implementa clonable {private String name; private int age; public student () {} public student (String Name, int Age) {super (); this.name = name; this.age = age;} public String getName () {return name;} public void setNeM {this.age = age;} // Reescribe la subcolumna del método clonado para llamar a @OverrideProtected Object clone () lanza ClonenOtsupportedException {return super.clone ();}}Clase de estudiantes de clonación de pruebas:
Clone de clonos del paquete;/ * * Finalizar void protegido (): este método es llamado por el recolector de basura del objeto cuando el recolector de basura determina que no existen más referencias al objeto. Utilizado para el reciclaje de basura, pero es incierto cuándo se reciclará. *Objeto protegido Clone (): Crea y devuelve una copia de este objeto. * A: Reescribir este método * * Clonable: esta clase implementa la interfaz clonable para indicar que el método Object.Clone () puede copiar legalmente la instancia de esta clase por campo. * Esta interfaz es una interfaz de etiqueta, que nos dice que la clase que implementa esta interfaz puede realizar la copia de objetos. */public class StudentClone {public static void main (String [] args) lanza clonenotsupportedException {// crea alumno de objeto estudiantil s = student (); s.setName ("qingxia lin"); s.setage (27); // clone student object obj = s.clone (); s2 = s2 = (Estudiante) obj; system.out.println ("------------"); System.out.println (s.getName ()+"----"+s.getage ()); system.out.println (s2.getName ()+"---"+s2.getage ());/Prácticas anteriores s3 = S; System.out.println (s3.getName ()+"---"+s3.getage ()); system.out.println ("-------------"); // De hecho, hay diferencias s3.setName ("liu yi"); s3.setage (30); system.out.println (S.getName ()+"---" -"+s.getage ()); system.out.println (s2.getName ()+" --- "+s2.getage ()); system.out.println (s3.getName ()+" --- "+s3.getage ()); system.println (" ---------- "); // ¿cambia el clonado? s2.setName ("Clon cambió nombre "); s2.setage (66); system.out.println (s.getName ()+" --- "+s.getage ()); system.out.println (s2.getName ()+" --- "+s2.ge tage ()); system.out.println (s3.getName ()+"---"+s3.getage ()); system.out.println (s3.getName ()+"---"+s3.getage ()); // in Otras palabras, asigne la referencia de un objeto a una referencia. Cuando la referencia se envía a algo, el objeto señalado por la misma referencia cambiará, pero el objeto clonado no cambiará. // Cambiar algunas de sus propiedades al objeto clonado, no afectará el cambio del valor de otros objetos}}Lo anterior es todo el contenido que el editor le brinda sobre la diferencia entre clonación cerca () y referencia de asignación en Java. Espero que sea útil para todos y apoye a Wulin.com más ~