Heim > Java > javaLernprogramm > Teilen Sie Beispiele für die Verwendung von clone() in Java

Teilen Sie Beispiele für die Verwendung von clone() in Java

黄舟
Freigeben: 2017-09-28 09:38:31
Original
1463 Leute haben es durchsucht

In diesem Artikel werden hauptsächlich relevante Informationen zur Verwendung von clone() in Java vorgestellt. Ich hoffe, dass dieser Artikel jedem helfen kann, die Klonmethode von clone() zu beherrschen.

So verwenden Sie clone() in Java

Vorwort:

Klonen bedeutet Kopieren durch das Objekt. es wird also kopiert. Um ein Objekt zu kopieren, müssen Sie zunächst einen Raum mit der gleichen Größe wie das Quellobjekt zuweisen und in diesem Raum ein neues Objekt erstellen. In der Java-Sprache gibt es also:

1 Verwenden Sie den neuen Operator, um ein Objekt zu erstellen.

2 Verwenden Sie die Klonmethode, um ein Objekt zu kopieren Objekt

Was sind also die Gemeinsamkeiten und Unterschiede zwischen diesen beiden Methoden? Die ursprüngliche Absicht des neuen Betreibers besteht darin, Speicher zuzuweisen. Wenn das Programm den neuen Operator ausführt, prüft es zunächst den Typ hinter dem neuen Operator, denn nur wenn wir den Typ kennen, können wir wissen, wie viel Speicherplatz wir zuweisen müssen. Rufen Sie nach dem Zuweisen des Speichers den Konstruktor auf, um jedes Feld des Objekts auszufüllen. Dieser Schritt wird als Objektinitialisierung bezeichnet. Nach der Rückkehr des Konstruktors wird ein Objekt erstellt und seine Referenz (Adresse) kann nach außen veröffentlicht werden Diese Referenz manipuliert das Objekt. Der erste Schritt des Klonens ähnelt dem Neu. Beim Aufruf der Klonmethode entspricht der zugewiesene Speicher dem des Quellobjekts (d. h. dem Objekt, das die Klonmethode aufruft) und dann den entsprechenden Feldern Das ursprüngliche Objekt wird zum Ausfüllen verwendet. Nachdem das Feld des neuen Objekts ausgefüllt ist, kehrt die Klonmethode zurück, ein neues und identisches Objekt wird erstellt und die Referenz dieses neuen Objekts kann auch nach außen veröffentlicht werden.


package test; 
 
public class Cloneoo { 
public static void main(String[] args) { 
  test t=new test(); 
  t.changeInt(); 
  System.out.println(t); 
  try { 
    test t1=(test) t.clone();//创建 
    System.out.println(t1); 
    System.out.println(t1.getI()); 
  } catch (CloneNotSupportedException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
  } 
   
} 
} 
class test implements Cloneable{ 
  private int i=0; 
  public void setI(int i) { 
    this.i = i; 
  } 
  public int getI() { 
    return i; 
  } 
  public void changeInt(){ 
    this.i=1; 
  } 
  @Override 
  protected Object clone() throws CloneNotSupportedException { 
    // TODO Auto-generated method stub 
    test t=null; 
    t=(test) super.clone(); 
    return t; 
  } 
   
}
Nach dem Login kopieren


test.test@15db9742 
test.test@6d06d69c
1
Nach dem Login kopieren

Wenn die Klasse einige Objekte enthält, müssen wir sie tief kopieren, also nachher Kopieren Sie das Objekt und rufen Sie schnell die Klonmethode für die nicht grundlegenden Typattribute im Objekt auf, um die tiefe Kopie abzuschließen.

Die Klonmethode führt eine flache Kopie durch

Das obige ist der detaillierte Inhalt vonTeilen Sie Beispiele für die Verwendung von clone() in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage