Subato

Resource Files

Referenzen (Starwars)

Gegeben sei die folgenden Java-Klasse:

public class Person {

	String name;
	Person parent;
	
	public Person(String name, 
	              Person parent) {
		this.name = name;
		this.parent = parent;
	}
	
	public Person child() {
		Person child = new Person(this.name, this);
		return child;
	}

}

Es wird der folgende Code ausgeführt:

Person darth = new Person("Vader", null);
Person breha = new Person("Organa", null);
Person leia = breha.child();
Person ben = leia.child();
Person anakin = new Person("Organa", leia);

leia.parent = darth;
leia.name += "-Vader";
  1. Skizzieren Sie die Situation nach den ersten 5 Zeilen im Speicher: Welche Objekte existieren (Rechtecke) und wie verweisen diese aufeinander (Pfeile)?
  2. Was genau bewirken die letzten beiden Zeilen im Speicher?
  3. Was würden die folgenden Zeilen nun ausgeben? Welche der Zeilen würden eine Exception werfen?
System.out.println(ben.parent.parent == darth);
System.out.println(anakin.name);
System.out.println(ben.name);
System.out.println(darth.parent);
System.out.println(darth.parent.name);


You are not logged in and therefore you cannot submit a solution.