Literatur

Definition und Deklaration einer Methode

Um uns auf das Wesentliche zu konzentrieren, lassen wir an dieser Stelle die gesamte Klassenansicht weg und beschränken uns nur auf die Methode selbst. Die Definition und Deklaration einer Methode sieht grob wie folgt aus:

Methodendeklaration    // Methodenkopf
{                      // Anfang Methodenrumpf
        ....           // Anweisungen 
}                      // Ende Methodenrumpf

Schauen wir uns nun einmal nur den Methodenkopf genauer an.

Modifikator Rückgabedatentyp Methodenname ( Datentyp Argument1, … )

Der Methodenkopf kann durch den sogenannten Zugriffsmodifikator (public, protected, private) eingeleitet werden. Der Zugriffsmodifikator gibt Informationen über die Sichtbarkeit einer Methode. Es gibt auch noch andere Modifikatoren, auf die wir jedoch genauer in einem späteren Kapitel eingehen wollen. Ein Modifikator ist kein Muss und sollte gut überlegt sein. Zwingend erforderlich ist hingegen die Angabe des Rückgabedatentypen. Dieser gibt an, zu welchem Datentyp der Rückgabewert der Methode gehört. Anschließend folgt der Methodenname, der die Methode aussagekräftig vertreten sollte. Nach dem Methodennamen folgt ein Block in runden Klammern. In diesem Block werden die Übergabeparameter festgelegt. Für jeden Parameter wird der Datentyp angegeben. Der Parameter kann in der Methode als lokale Variable verwendet werden. Die Namen der Übergabeargumente sollten ebenso wie der Methodenname aussagekräftig sein. Eine Methode muss aber nicht unbedingt Übergabeparameter empfangen. Falls keine Übergabeparameter verwendet werden, bleiben die runden Klammern leer.

Schauen wir uns direkt ein Beispiel für eine vollständige Methodendeklaration an.

class Punkt            // Deklaration des neuen Klassennamens Punkt
{
    int x_koordinate;    // x-Position unseres Punktes
    int y_koordinate;    // y-Position unseres Punktes
 
    // Methodenkopf mit dem Zugriffsmodifikator public (überall sichtbar)
    // Der Rückgabedatentyp void zeigt an, dass es keinen Rückgabewert gibt
    // Methodenname set_x_Koordiante
    // Übergabeparameter zusetzendeX_Koordinate vom Datentyp int
    public void set_x_Koordinate ( int zusetzendeX_Koordinate )
    {
       /* Hier wird das Attribut x_koordinate eines Objektes auf
       den Wert von zusetzendeX_Koordinate gesetzt. */
       this.x_koordinate = zusetzendeX_Koordinate;
    }
}

In dem obigen Beispiel haben wir unsere Punkt-Klasse um die Methode set_x_Koordinate erweitert.

Schauen wir uns als nächstes Beispiel die bereits bekannte main-Methode an, die bei dem Start eines Programms bzw. einer Startklasse als erstes aufgerufen wird.

Aufbau der main-Methode:

public static void main(String[ ] args)
{
    // Anweisungen
}


Die main-Methode besitzt zwei Zugriffsmodifikatoren public und static. Wie Sie später noch lernen werden, deklariert man mit static eine Klassenmethode. Klassenmethoden sind nicht objektbezogen, sondern - analog zu den Klassenvariablen - gelten für die ganze Klasse. Dies ermöglicht den Aufruf, dieser Methode, bevor überhaupt ein Objekt dieser Klasse erzeugt worden ist. Dies ist eine Vorraussetzung für die main-Methode, da ansonsten kein Java-Programm gestartet werden könnte.

Der Rückgabetyp der main-Methode ist void, d.h. es wird kein Wert aus der main-Methode zurück gegeben. Der Name der main-Methode ist main. Die main-Methode erwartet als Übergrabeparameter ein Array mit Strings. Sie fragen sich jetzt mit Sicherheit: „Was steht denn in diesem Array drin, wenn ich die Startklasse aufrufe?“ Der Inhalt des Arrays ist  von Ihnen abhängig. In dem Array stehen Werte, die der Startklasse beim Starten übergeben werden. In den in diesem Tutorial verwendeten Beispielen wird das Array auch leer bleiben.
Zum Verständnis wie das ganze funktioniert zeigen wir Ihnen nur kurz das Prinzip.

    java –jar Start.jar Parameter1

Der obige Aufruf eines Programms namens Start wird aufgerufen mit dem Parameter Parameter1. Das Array args hätte in diesem Fall die Länge eins und der Inhalt des ersten Feldes (args[0]) wäre Parameter1.