Subato

Resource Files

GameOfThrones-References

Gegeben seien die folgenden beiden Java-Klassen:

public class Character { 
  String name; 
  House house; 

  public Character(String name, House house) { 
    this.name = name; 
    this.house = house; } 
} 

public class House { 
  String name; 
  String words; 

  public House(String name, String words) { 
    this.name = name; 
    this.words = words; 
  } 

  public House clone() { 
    return new House(this.name, this.words); 
  } 
}

Mit den obigen beiden Klassen wird der folgende Code ausgeführt.

House stark = new House("Stark", "Winter is coming.");
House none = null; 
Character john = new Character("John Snow", stark); 
Character bran = new Character("Bran Stark", stark); 
Character arya = new Character("Arya Stark", stark.clone()); 
Character tyrion = new Character("Tyrion Lannister", none);

 

Skizzieren Sie danach die Situation im Speicher: Welche Objekte existieren (Rechtecke) und wie verweisen diese aufeinander (Pfeile)?

Wir verpassen Johns Haus den Doppelnamen ``Stark-Targaryen''. Was genau bewirken dies im Speicher? Was wird ausgegeben?

john.house.name += "-Targaryen";
System.out.println(bran.house.name);
System.out.println(arya.house.name);

Welche der folgenden Zeilen werfen eine Exception?

john.house.name = john.name;
System.out.println(tyrion.house); 
tyrion.house.name = "Lannister"; 
House[] houses = new House[] {stark, stark, null};


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