Können verschiedene Objekte der gleichen Klasse in einem Programm zur gleichen Zeit existieren?
Ja. Natürlich, um zu jedem zu gelangen, muss jedes eine Referenz haben.
Hier ist eine weitere Version des Beispielprogramms:
class StringBsp4 { public static void main ( String[] args ) { String strA; // Referenz auf das erste Objekt String strB; // Referenz auf das zweite Objekt strA = new String( "Der Gingham Hund" ); // Das erste Objekt erzeugen und // seine Referenz speichern. System.out.println( strA ); // Der Referenz auf das erste // Objekt folgen und Daten ausgeben. strB = new String( "Die Calico Katze" ); // Das zweite Objekt erzeugen und // seine Referenz speichern. System.out.println( strB ); // Der Referenz auf das zweite // Objekt folgen und Daten ausgeben. System.out.println( strA ); // Der Referenz auf das erste // Objekt folgen und Daten ausgeben. } } |
Das Programm hat zwei Referenzvariablen, strA
und strB
.
Es erzeugt zwei Objekte und stellt jede der Referenzen in eine der Variablen.
Da jedes Objekt seine eigene Referenzvariable hat,
geht keine Referenz verloren und kein Objekt wird Ausschuss.
(Bis das Programm aufgehört hat zu laufen.)