Ja. Eine Klassendefinition wird ihre eigenen Variablen (Zustand) und ihre eigenen Methoden (Verhalten) haben.
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 mal 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.
StringTester
.main()
genannt wird.main()
eine statische Methode ist, ist sie ein Merkmal der Klasse.
Objekte der Klasse haben keine main()
Methode.
main()
eine statische Methode ist,
gibt es nur eine main()
Methode.java StringTester
eingibt.StringTester
nach der Methode main()
.
main()
Methode beginnt zu starten, erzeugt ein Objekt, indem sie new
verwendet, ruft die Methode length()
auf und sorgt dafür, dass das Zeug erledigt wird.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.)