zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

Nein. Ein Konstruktor wird nur einmal pro Objekt verwendet. Sobald das Objekt erzeugt wurde, ist der Konstruktor fertig.

Punktnotation

Nachdem ein Objekt konstruiert wurde, kann es (gewöhnlich) durch seine eigenen Methoden geändert werden (nicht durch seine Konstruktoren).

Manche Objekte sind so entworfen worden, dass sie, sobald sie einmal konstruiert wurden, nicht mehr geändert werden können. Die Klasse String ist eine davon. Strings sind unveränderbar. D.h. nach ihrer Konstruktion können sie nicht mehr geändert werden.

Die beiden Arten von Dingen innerhalb eines Objekts — Variablen und Methoden — werden auch als Instanzvariablen und Instanzmethoden oder als Elemente des Objekts bezeichnet.

Ein besserer Name für Instanzvariable und Instanzmethode ist Objektvariable und Objektmethode.

Auf die Elemente eines Objekts kann durch die Verwendung der Punktnotation zugegriffen werden. Das Beispielprogramm erzeugt ein Stringobjekt, auf das über die Variable str zugegriffen werden kann.

    String str;            // str ist eine Variable, die ein Objekt bezeichnet,
    int  laenge;
    str = new String("Zufaellige Notizen");  // ein Objekt vom Typ String erzeugen

    laenge = str.length();  // Aufruf des Objekts length() Methode

Die Methode length() ist eine Methode des Stringobjekts auf das über str zugegriffen werden kann. Um das Stringobjekt "Zufaellige Notizen" aufzufordern seine Methode length() auszuführen tun wir das:

laenge  = str.length();

Der oben stehende Ausdruck ist ein Zuweisungsausdruck und funktioniert wie immer in zwei Schritten:

  1. Der Ausdruck rechts des "="-Zeichens wird ausgewertet.
  2. Der sich ergebende Wert wird in der Variablen links des "="-Zeichens gespeichert.

Der auf der rechten Seite stehende Zuweisungsausdruck führt die Methode length() aus, die ein Element von str ist. Das Ausführen dieser Methode liefert die Anzahl der Zeichen des Objekts zurück.

FRAGE 15:

Denkt Ihr, dass das Folgende korrekt ist?

str.length() = 12 ;  // Laenge von str aendern