Liebe Java-Profis,
hier erstmal ein Beispiel, ehe ich meine Frage stelle:
Ich erstelle im Konstruktor der Klasse higherLevelClass eine Instanz vom Typ lowerLevelClass. Im Konstruktor von lowerLevelClass übergebe ich die Instanz vom Typ higherLevelClass, die ich gerade erzeuge. Wenn ich das richtig verstanden habe, übergebe ich genauer genommen die Adresse von der higherLevelClass-Instanz im Sinne von call-by-Reference. Das bedeutet, wenn später irgendetwas in der Instanz von lowerLevelClass passiert, ist diese in der Lage das an die Instanz von higherLevelClass "zu melden".
Nun meine Frage: Funktioniert das? Zur Begründung meiner Zweifel: Ich habe keine Ahnung von der Speicherverwaltung. Wird die Instanz von higherLevelClass während der gesamten Laufzeit eines beliebigen Programms unter der Adresse zu finden sein, die sie bei ihrer Erzeugung an die Instanz von lowerLevelClass gemeldet hat?
Danke für eure Hilfe!
hier erstmal ein Beispiel, ehe ich meine Frage stelle:
Java:
public class higherLevelClass {
private lowerLevelClass instanzLower;
public higherLevelClass(){
instanz = new lowerLevelClass(this);
}
}
public class lowerLevelClass {
private higherLevelClass instanzHigher;
public lowerLevelClass(higherLevelClass higher){
instanzHigher = higher;
}
}
Ich erstelle im Konstruktor der Klasse higherLevelClass eine Instanz vom Typ lowerLevelClass. Im Konstruktor von lowerLevelClass übergebe ich die Instanz vom Typ higherLevelClass, die ich gerade erzeuge. Wenn ich das richtig verstanden habe, übergebe ich genauer genommen die Adresse von der higherLevelClass-Instanz im Sinne von call-by-Reference. Das bedeutet, wenn später irgendetwas in der Instanz von lowerLevelClass passiert, ist diese in der Lage das an die Instanz von higherLevelClass "zu melden".
Nun meine Frage: Funktioniert das? Zur Begründung meiner Zweifel: Ich habe keine Ahnung von der Speicherverwaltung. Wird die Instanz von higherLevelClass während der gesamten Laufzeit eines beliebigen Programms unter der Adresse zu finden sein, die sie bei ihrer Erzeugung an die Instanz von lowerLevelClass gemeldet hat?
Danke für eure Hilfe!
Zuletzt bearbeitet: