Creezi ceea ce este, în esență, o clonă a obiectului părinte. Acest lucru este diferit de economisire doar pointer la obiectul părinte.
Evident, vei lua mai mult spațiu de memorie prin duplicarea obiectului părinte. Mai important, nu o duplicați referințele părintelui. Deci, dacă încercați să traverseze copac, du-te la mama unui nod, apoi încercați să viziteze alți copii săi, desenați o grămadă de indicii nule.
this.parentEste o referință la obiectul curent parentindicator.
Aceasta nu înseamnă de fapt , că thiseste un părinte. De fapt, this.parenteste folosit pentru a distinge local parentindicatorul de parametrul de intrare 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
}
}