Klassenmethoden

[Startseite]


Vorwort ] Voraussetzungen ] JAVA ] Implementierung von Klassen ] Erste Programme ] Klassenbibliothek ] Installation ] Applets ] Mehr JAVA ] Inside stiftUndCo ] Beispiele ] Downloads ]

Bezeichner
Kommentare
Anweisungen
Zuweisung
Entscheidungen
Boolesche Ausdrücke
Schleifen
Variablendeklaration
Konstantendeklarationen
Einfache Datentypen
Arithmetische Operatoren
Zeichenketten
Felder
Typzusicherungen
Methoden
Klassenmethoden

Klassenmethoden

Der folgende Abschnitt zeigt einige Besonderheiten von JAVA auf, die im Unterricht keinen Eingang finden müssen, die jedoch eine elegante Möglichkeit zur Realisierung von allgemein zugänglichen Funktionsbibliotheken bieten.

Wie oben bereits angedeutet, findet sich Funktionalität in JAVA grundsätzlich nur in Klassen und Objekten. Aus PASCAL kennt man Konstante, Funktionen und Prozeduren, die man überall verwenden kann, z.B. PI, einen Zufallsgenerator, trigonometrische Funktionen etc. Um so etwas in JAVA realisieren zu können, bieten sich Klassenvariable, Klassenkonstante und Klassenmethoden an. Deren Existenz hängt nämlich nicht von der Erzeugung eines Objektes ab, sondern ist unabhängig davon!

Klassenmethoden, Klasssenvariable und Klassenkonstante werden mit Hilfe des Modifiers static deklariert:

 

public static double quadrat(double x)

{

return x*x;

}

 

Nehmen wir an, daß die obige Methode in einer Klasse Hilfe deklariert wurde, so kann die Methode durch Aufruf von Hilfe.quadrat(...) benutzt werden, dem Methodenbezeichner wird also der Klassenbezeichner vorangestellt. Im Lieferumfang von JAVA selbst befindet sich eine Klasse Math, die nach diesem Prinzip aufgebaut ist. Die Möglichkeiten eine universelle Bibliothek aufzubauen, wird noch von einer weiteren Besonderheit ergänzt: es ist möglich Methoden zu überladen. Darunter ist zu verstehen, daß es mehrere Methoden gleichen Namens innerhalb einer Klasse geben kann, die sich in der Funktionalität unterscheiden. Das Überladen ist auch möglich und sehr gebräuchlich bei objektgebundenen Methoden. Häufig werden für eine Klasse verschiedene Konstruktoren offeriert. Die einzige Bedingung für ihre Deklaration ist, daß die Parameterlisten verschieden sind.

 

Beispiel:

Bestimmung des Maximums zweier Zahlen

public static int max(int x, int y) {.....}

public static double max (double x, double y) {...}

 

Die Auswahl der passenden Methode erfolgt zur Laufzeit anhand der aktuellen Parameter.

 

Klassenvariable können von allen Objekten der Klasse benutzt werden, existieren aber nur einmal. So könnte etwa ein Zähler, der die Objekte einer Klasse zählt, mit Hilfe einer Klassenvariablen realisiert werden.

 

 


Seitenanfang

© Georg Dick