Wie viele Objekte der Klasse User werden insgesamt in Arbeitsspeicher durch main-Methode erzeugt?

1 Antwort

Der new-Operator erzeugt stets ein neues Objekt im Heap. Ein versteckter Sonderfall ist - das nur als Randinformation - das String-Literal. Bei diesem schaut das Programm erst in einen internen String-Pool, ob ein String mit der Zeichenkette bereits existiert. Wenn nicht, wird ein neues String-Objekt mit der Zeichenkette angelegt und im String-Pool abgelegt.

String word1 = "Hello";
String word2 = "Hello"; // word2 == word1
String word3 = new String("Hello"); // word3 != word1

Für deine Aufgabe reicht es aus, Zeile für Zeile der main-Methode durchzugehen und zu schauen, ob sie eine Anweisung triggert, die den new-Operator in Kombination mit dem User-Konstruktor verwendet.