Skip to main content

Die sechs Bestandteile aller Java Methoden: Aufbau und Hintergründe


java programmierung methoden aufbau bestandteile

Java Methoden hauchen deinem Java Programm Leben ein.

Ohne eine Methode würde deine Java Klasse ein starres Konstrukt sein.

Deine Objekte hätten Eigenschaften.
Aber sie könnten nichts machen.

Und das wäre eine trostlose Welt.
Java Methoden sorgen also dafür, dass Objekte interagieren.

Methoden bestehen aus bestimmten Bausteinen.
Und diese Bausteine bestimmen, was die Methode darf und was sie nicht darf.

Und um diese Bausteine geht es in diesem Beitrag.

Jede Javamethode besteht aus einem Methodenkopf und einem Methodenrumpf.
Der Methodenkopf setzt sich wiederum aus fünf Bausteinen zusammen:

  • einem Access Modifier
  • der Kennzeichnung ob statisch oder nicht,
  • einem Rückgabetypen
  • dem Methodennamen
  • einer Parameterliste

Und dann folgt der Methodenrumpf.
Und in diesem wird die Programmlogik implementiert.

Wir beginnen beim Kopf

Alle Java Methoden beginnen mit einem Access Modifiers.

Ja jede Methode.

Du erkennst den Access Modifiers am entsprechenden Keyword.

Und diese Keywörter sind

  • public
  • private
  • oder protected.

Und mit diesen Keywörter legst du fest, wie sichtbar diese Methode nach außen ist.
Unter Sichtbarkeit versteht man in der Java Welt Verfügbarkeit.

Und so sieht das Ganze dann im Code aus.


public class MethodenTraining{
//Methode ist öffentlich für alle anderen Klassen
public void machOeffentlich(){

}
//Keine andere Klasse kommt an diese Methode heran
private void halteVerschlossen(){

}
//Nur abgeleitete Klassen und Klassen im selben package
protected void nutzeNurAbgeleiteteKlassen(){

}
//Nur Klassen aus dem selben package können nutzen
void nutzeNurImPackage(){

}
}

Die Frage, welche beantwortet wird:
Wie verfügbar ist diese Methode in anderen Klassen.

Wenn vor deiner Methode public steht, bedeutet dies:
Diese Methode kann auch in anderen Klassen genutzt werden.

Wenn aber vor deiner Methode das Keyword private steht.
Dann bedeutet das: Diese Methode kann von anderen Java Klassen nicht genutzt werden.

Steht vor deiner Methode das Wort protected. Dann kann diese Methode von Klassen genutzt werden, welche sich im selben package befinden.
Außerdem kann die Methode von allen abgeleiteten Klassen genutzt werden.

Steht keines dieser Keywörter vor der Methode, dann ist diese package private. Und package private hat starke Ähnlichkeit mit protected.

Anders als bei protected dürfen abgeleitete Klassen diese Methode nicht nutzen.
Nur Methoden, welche sich im selben package befinden, dürfen die Methode nutzen.

Falls Du mehr zur Sichtbarkeit erfahren möchtest, dann nutze doch diese Übersicht.

Das zweite Keyword, welches in Java Methoden immer wieder auftaucht, ist static

Java Methoden sind entweder Instanz- oder Klassenmethoden.

Wo liegt der Unterschied?
Instanzmethoden wirken auf ein bestimmtes Objekt.
Alles was ein Objekt können soll, wird in Instanzmethoden angeboten.

Klassenmethoden dienen allen Objekten.
Alles was neben den Objekten passiert (beiläufige Berechnungen, Module laden, Programmstart usw) wird in Klassenmethoden vereinbart.

Eine Methode, welche das Keywort static im Methodenkopf deklariert hat, ist eine Klassenmethode.

Die wohl wichtigste Java Methode ist die main Methode.
Diese Methode sorgt für den Programmstart.

Und du ahnst es.
Diese ist statisch.

Alle Methoden, bei denen im Methodenkopf das Keyword static fehlt sind, Instanzmethoden.

Und so würde dies aussehen.


public class MethodenTraining{
//Instanzmethode
public void machOeffentlich(){

}
//Klassenmethode
private static void halteVerschlossen(){

}
//Instanzmethode
protected void nutzeNurAbgleiteteKlassen(){

}
//Klassenmethode
static void nutzeNurImPackage(){

}
}


Der dritte Bestandteil – das dritte Keyword bestimmt den Rückgabetyp

Java Methode geben etwas zurück.

Und was sie zurückgeben, wird im Rückgabetyp vereinbart.
Entweder ist der Rückgabetyp eine Zahl, ein Textwert oder ein logischer Ausdruck.

Und dieser Rückgabetyp steht im Methodenkopf.
(int, String, boolean usw.)

Manche Methoden geben aber nichts zurück.
Dies muss dann aber ebenfalls gekennzeichnet werden.
Hierfür steht dann das Keyword void.

Und so würde dies aussehen.


public class MethodenTraining{
//Rückgabe eines Integer Datentypen
public int gibZurueck(){

return 2;
}
//Ohne Rückgabetyp
private static void gibNichtsZurueck(){

}
}


Als vierter Bestandteil folgt der Methodenname

Der Methodenname ist sehr wichtig.

Die Methode wird unter diesem Namen intern abgelegt.

Und wenn du eine Methode an irgendeiner Stelle wieder aufrufen möchtest….
Dann machst du dies über den Namen.

Der Methodenname kann nicht willkürlich gewählt werden.
Ein Methodenname darf niemals ein Java internes Keyword sein.

Außerdem solltest du Methodennamen immer klein schreiben.
Falls sich deine Methode aus mehreren Wörtern zusammensetzt, solltest du auch hier die richtige Schreibweise beachten.

Java Methoden folgen einer bestimmten Namenskonvention.
Und diese lautet lowerCaseCamelCase.

So wird aus der Methode „Namen geben“ „namenGeben“.
Du beginnst klein und das zweite Wort wird groß geschrieben.

Falls deine Methode „einen Namen geben“ heißen soll, wäre dies nach bestehender Namenskonvention „einenNamenGeben“.

Außerdem entsprechen Methoden immer Interaktionen.
Sie drücken somit eine Tätigkeit aus.

Es ist somit besser, den Namen immer, mit einem Verb zu beginnen.


public class MethodenTraining{
//einzelnes Wort für Methodennamen
public void gib(){

}
//zwei Wörter
public void gibNamen(){

}
//mehrere Wörter
private static void gibEinenNamenZurueck(){

}
}


Der fünfte Bestandteil der Java Methoden ist die Parameterliste.

Diese erkennst du an der Klammer.

In diese Klammer wird ein bestimmter Parameter übergeben, welchen die Methoden verarbeiten sollen.

Dies kann beispielsweise eine Zahl sein, welche verrechnet werden soll.

Dies kann aber auch ein Textwert sein, welcher als Bildschirmausgabe erscheinen soll.

Es kann auch ein komplettes Objekt sein, welches überprüft werden soll.

Falls die Methode keinen Wert von außen bekommen soll, kannst du diese auch parameterlos machen.
Lass dafür einfach die Klammern leer.


public class MethodenTraining{
//Die Methode erwartet einen Parameter vom Datentyp Integer
public void verrechneIrgendwas(int irgendeineZahl){

}
//Die Methode erwartet zwei Parameter vom Datentyp Integer
public void verrechneBeideWerte(int irgendeineZahl, int nochEineZahl){

}
//Die Methode erwartet keinen Parameter.
public void verrechneNurInterneWerte(){

}
}

Nachdem wir die fünf Bausteine des Kopfes besprochen haben, können wir uns den Methodenrumpf anschauen.

Der Methodenrumpf beginnt immer mit einer öffnenden Klammer.
Und der Methodenrumpf endet immer mit einer schließenden Klammer.

Zwischen beiden Klammern, kommt dann der Code.
Man bezeichnet diesen Raum als Codeblock.

Ganz wichtig ist das richtige Klammern innerhalb der Klasse.
Ich habe dir einmal alle Klammern entsprechend kommentiert.


public class MethodenTraining{ //öffnende Klammer Klasse
public void verrechneIrgendwas(int irgendeineZahl){
//Programmlogik der Methode "verrechneIrgendwas"

}//Die schließende Klammer der Methode "verrechneIrgendwas"
public void verrechneBeideWerte(int irgendeineZahl, int nochEineZahl){

//Programmlogik der Nethode "verrechneBeideWerte"
}//Die schließende Klammer der Methode "verrechneBeideWerte"
}//Die schließende Klammer der Klasse

Du siehst, dass die schließende Klammer einer Methode immer vor der schließenden Klammer der Klasse stehen muss.

Man kann also sagen, dass eine Klasse immer die erste öffnende Klammer und die letzte schließende Klammer besitzt.
Alles zwischen diesen Klammern kann für deine Methoden genutzt werden.

Du kannst festhalten:

  • Der Methodenkopf gibt die Ausrichtung der Methode vor
  • und der Rumpf die eigentliche Ausführung.

Zusammenfassung:
In der Java Programmierung bestehen Methoden immer aus einem Methodenkopf und einem Methodenrumpf.
Der Kopf besteht aus fünf Bestandteilen, welche der Ausrichtung dienen:

  1. Access Modifier: Wie sichtbar ist die Methode für andere Klassen?
  2. Die Ausrichtung ob es eine Klassen- oder Instanzmethode ist, wird über das Keyword static geregelt.
  3. Der Rückgabewert entspricht entweder einem Datentyp oder dem Keyword void.
  4. Über den Methodenname wird die Methode javaintern verwaltet. Außerdem kann die Methode dann über den Namen aufgerufen werden.
  5. Mit der Parameterliste entscheidet sich, ob die Java Methoden Werte von außen bekommen oder nicht.

Im Methodenrumpf wird die Programmlogik, die eigentliche Ausführung, implementiert.


Ähnliche Beiträge