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 1. Objekt String strB; // Referenz auf das 2. Objekt strA = new String( "Der Gingham Hund"); // 1. Objekt erzeugen und // seine Referenz speichern. System.out.println( strA); // Referenz des 1. Objekts // folgen und Daten ausgeben. strB = new String( "Die Calico Katze"); // 2. Objekt erzeugen und // seine Referenz speichern. System.out.println( strB); // Referenz des 2. Objekts // folgen und Daten ausgeben. System.out.println( strA); // Referenz des 1. Objekts // 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.)
Was wird das Programm auf dem Bildschirm ausgeben?