zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

Das vervollständigte Programm befindet sich unten.

Einen Konstruktor in einer Deklaration verwenden

Hier ist das vollständige Programm mit den ausgefüllten Lücken.

class StringTester
{

  public static void main(String[] args)
  {
    // str1 ist eine Variable, die ein String-Objekt bezeichnet
    String str1;
    String str2;

    // str2 ist eine Variable, die ein 2, String-Objekt bezeichnet
    int    laenge1 , laenge2; // die Länge von str1 und von str2

    str1   = new String( "Eier"); // den 1. String erzeugen

    str2   = new String( " und Pilze.")  // den 2. String erzeugen


    laenge1  = str1.length(); // Länge des 1. Strings ermitteln

    laenge2  = str2.length(); // Länge des 2. Strings ermitteln

    System.out.println("Die Gesamtlaenge beider Strings ist " +
        (laenge1 + laenge2) + " Zeichen" );
  }
}

Dies ist eine "wortreiche" Version des Programms. Ein Objekt kann in einer Variablendeklaration erzeugt werden. Zum Beispiel geht das Folgende:

String str1 = new String("Eier");

Es gibt sogar noch einen kürzeren Weg dafür, aber das funktioniert nur mit Stringobjekten.

String str1 =  "Eier";

Diese Anweisung stellt sicher, dass str1 auf ein Stringobjekt mit den entsprechenden Zeichen verweist. Aber wenn ein "Eier"-Objekt bereits existiert, wird kein neues Stringobjekt erzeugt, sondern str1 bekommt lediglich die Referenz auf das bereits existierende Objekt zugewiesen.

Das ist eine Optimierung. Häufig wird die gleiche Sequenz von Zeichen an vielen Stellen eines Programms benötigt. Also ist es effizient nur ein Objekt zu verwenden.

FRAGE 17:

Betrachtet den folgenden Code. Wie viele Objekte gibt es?

String prompt1 = "Press Enter to Continue."
String prompt2 = "Press Enter to Continue."
String prompt3 = "Press Enter to Continue."
String prompt4 = "Press Enter to Continue."
zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite