Podczas tworzenia tego, co jest w zasadzie klonem obiektu nadrzędnego. To właśnie różni się od zapisywania wskaźnik do obiektu nadrzędnego.
Oczywiście, będziemy przyjmować więcej miejsca w pamięci przez powielenie obiektu nadrzędnego. Co ważniejsze, nie jesteś powielanie referencje rodzica. Więc jeśli starają się przechodzić przez drzewa, przejdź do rodzica węzła, a następnie spróbuj odwiedzić swoich innych dzieci, narysować kilka zerowych wskaźników.
this.parentJest odniesienie do obecnego obiektu parentwskaźnika.
To nie oznacza, że rzeczywiście thisjest rodzicem. W rzeczywistości, this.parentjest używany do rozróżnienia lokalny parentwskaźnik od parametru wejściowego 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
}
}