zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

Ja. Eine Klassendefinition kann ihre eigenen Variablen (Zustand) und kann ihre eigenen Methoden (Verhalten) haben.

Statische Methoden

Die Methoden, die eine Klassendefinition hat, werden statische Methoden genannt. (Sie werden manchmal auch Klassenmethoden genannt). Eine statische Methode ist ein Merkmal der Klasse, nicht der Objekte, die sie erzeugt hat.

Wichtig: Ein Programm kann eine statische Methode ausführen, ohne zuerst ein Objekt zu erzeugen! Alle anderen Methoden (die, welche nicht statisch sind) müssen ein Teil eines Objektes sein. Ein Objekt muss existieren, bevor sie ausgeführt werden können.

Hier ist noch einmal das Beispielprogramm:


// Die Datei StringTester.java
//
class StringTester
{

  public static void main ( String[] args )
  {
    String str;             // str ist eine Variable, die ein Objekt bezeichnet,
                            // aber das Objekt existiert noch nicht.
    int  laenge;            // laenge ist eine primitive Variable vom Typ int

    str = new String("Zufaellige Notizen");  // ein Objekt vom Typ String erzeugen

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

    System.out.println("Der String ist " + laenge + " Zeichen lang");
  }
}

Die Applikation ist vergleichbar mit vielen, die Sie bis jetzt gesehen haben. Aber jetzt können Sie mehr Details verstehen, von dem was vor sich geht. Angenommen, dass eine Datei mit dem Namen StringTester.java den oben stehenden Quelltext enthält.

Denken Sie an die Idee der objektorientierten Programmierung: Eine Applikation besteht aus einer Sammlung kooperativer Software-Objekte, deren Methoden in einer bestimmten Reihenfolge ausgeführt werden, um etwas Nützliches zu tun. Die oben genannten Schritte beschreiben wie die Sammlung der Objekte zum Laufen gebracht wird. (In diesem Fall wurde nur ein Objekt erzeugt.)

FRAGE 13:

Angenommen, Sie erstellen eine Datei, die eine Klassendefinition enthält, aber die Klasse enthält keine main() Methode. Können die Methoden dieser Klasse jemals ausgeführt werden?