Ученик класс:
Клон пакета клона;/*Для клона это оправдание должно быть реализовано: клонируемо, чтобы отметить этот объект, клонируемый: этот класс реализует клонируемый интерфейс, чтобы указать, что метод Object.Clone () может законно скопировать экземпляр этого класса по поле. Этот интерфейс представляет собой интерфейс тегов, в котором говорится, что класс, реализующий этот интерфейс, может реализовать копирование объектов. */Public Class Student реализует 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 setName (строковое имя) {this.Name = name = name;} public inte getAge () {return age age; {this.age = age;} // Перепишите подложку клонированного метода, чтобы вызвать @OverrideProtected Object Clone () Throws ClonenotSupportedException {return super.clone ();}}Тест Клонинг ученик класс:
Клон пакета клона;/ * * Защищенный void infintize (): этот метод вызывается коллекционером мусора объекта, когда коллектор мусора определяет, что больше никаких ссылок на объект не существует. Используется для переработки мусора, но это неясно, когда он будет переработан. *Защищенный объект Clone (): создает и возвращает копию этого объекта. * A: Перепишите этот метод * * Клонирован: этот класс реализует клонируемый интерфейс, чтобы указать, что метод Object.Clone () может законно копировать экземпляр этого класса по поле. * Этот интерфейс представляет собой интерфейс тега, в котором говорится, что класс, реализующий этот интерфейс, может реализовать копирование объектов. */public Class StudentClone {public static void main (string [] args) бросает clonenotsupportedException {// Создать студент студента S = новый студент (); s.setname ("Qingxia lin"); s.setage (27); // Clone объект студенческого объекта obj = s.clone (); студент S2 = (Студент) obj; system.out.println ("------------"); System.out.println (s.getName ()+"----"+s.getage ()); System.out.println (s2.getName ()+"---+s2.getge (); // Предыдущая практика S3 = S; System.out.println (s3.getName ()+"---"+s3.getage ()); system.out.println ("-------------"); // Фактически, существуют различия 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.out.println (" ---------- "); // Изменение клонированного ()); S2.SetName («Клон изменился имя "); 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 Другими словами, назначьте ссылку объекта на ссылку. Когда ссылка будет отправлена на что -то, объект, на который указан той же ссылкой, но клонированный объект не изменится. // Измените некоторые из его свойств на клонированный объект, он не повлияет на изменение значения других объектов}}Выше приведено все содержание, которое редактор приносит вам о разнице между клонированием close () и ссылкой на назначение в Java. Я надеюсь, что это будет полезно для всех и поддерживать wulin.com больше ~