Sie schaffen, was im Wesentlichen ein Klon des übergeordneten Objekts ist. Dies unterscheidet sich von nur den Zeiger auf das übergeordnete Objekt zu speichern.
Offensichtlich werden Sie durch Duplizieren das übergeordnete Objekt mehr Speicherplatz einnehmen. Noch wichtiger ist, sind das Duplizieren Sie nicht die Referenzen der Eltern. Also, wenn Sie versuchen, den Baum zu durchqueren, zu einem Knoten der Eltern gehen, dann versuchen, seine anderen Kinder zu besuchen, können Sie eine Reihe von Null-Zeiger ziehen.
Das this.parentist ein Hinweis auf den aktuellen parentObjektzeiger.
Es ist nicht wirklich bedeutet , dass thisein Elternteil ist. In der Tat this.parentwird das lokal zu unterscheiden parentZeiger aus dem eingehenden Parameter parent.
class Person{
Person parent; // <---- this is the "this.parent" attribute, and is initially undefined
public void setParent(Person parent){ // <---- the "Person parent" on this line is an incoming parameter
this.parent = parent; //<---- "this.parent" refers to the attribute, and "parent" refers to the parameter
}
}