Je bent het creëren van wat in feite een kloon van het bovenliggende object. Dit is wat anders dan het redden van de aanwijzer naar het bovenliggende object.
Uiteraard zult u het nemen van meer geheugenruimte door het dupliceren van het bovenliggende object. Wat nog belangrijker is, je bent niet dupliceren referenties van de ouders. Dus als je probeert om de boom te doorkruisen, ga dan naar de ouders van een knooppunt, dan proberen om haar andere kinderen te bezoeken, u een bos van null pointers te tekenen.
Het this.parentis een verwijzing naar het huidige object parentpointer.
Het doet er niet echt zeggen dat thisis een ouder. In feite, this.parentwordt gebruikt om de lokale onderscheiden parentaanwijzer van de inkomende 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
}
}