Skip to main content

Die sechs Bestandteile von Java Methoden

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.

Hast du Fragen oder Anmerkungen…. Na dann schreib mir doch einen Kommentar unter diesen Beitrag.


Ähnliche Beiträge

So kannst du ein neues Java Projekt mit Eclipse anlegen und konfigurieren

Java Projekt anlegen Eclipse

In diesem Beitrag möchte ich dir zeigen, wie du ein neues Java Projekt mit Eclipse anlegen kannst. Ich werde dir außerdem einen kurzen Überblick über die Konfigurationsmöglichkeiten geben. Dann gebe ich dir noch eine ganz einfache Schritt-für-Schritt-Anleitung für dein allererstes Java Projekt und ich zeige dir, was nach dem Anlegen des Projektes eigentlich passiert ist.

3 Möglichkeiten um Vererbung von Java Klassen zu verhindern, zu verbieten oder ausschließen

Java Vererbung verhindern

Die ganze Java Vererbung für bestimmte Klassen ausschließen bzw. verhindern oder verbieten. Was soll das? Für bestimmte Java Klassen soll die Vererbung ausgeschlossen werden. Es soll also verhindert werden, dass Elternklassen – Kindklassen bekommen können. Klingt ein bisschen wie Verhütung, oder? Denn wie auch im echten Leben, können Kinder zu kleinen Tyrannen werden. Sie bedienen […]

Ende vom Java Blog?

Falls du hier schon länger dabei bist, wird dir aufgefallen sein – dass kaum noch Beiträge veröffentlicht werden. Das tut mir wirklich leid und dafür möchte ich mich auch entschuldigen. Ich weiß, dass Einige unter Euch den Java-Blog wirklich lieben. Aber es ist verdammt schwierig so ein aufwendiges Thema – stilvoll, unterhaltend und methodisch umzusetzen. […]

Java Duales Zahlensystem – Binäre Zahlen in Java umwandeln

Java Dual System

Das duale Zahlensystem hat viele Bezeichnungen. Oft wird auch es Dualsystem oder Binärsystem genannt. Es besteht aber immer aus 2 Zahlen. Man verwendet oft die Zahlen 0 und 1. Es können aber auch sämtliche anderen Zahlenpaare sein. Zum Beispiel 7 und 175 sind für sich genommen, auch ein normales Zahlenpaar und somit ein Dualsystem. Mit […]

So nutzt du die While Schleife in deinem Java Programm

Java While Schleife

Manchmal ist es wichtig, Dinge einmal öfter zu tun. Bei der Java Programmierung kann es schonmal sein, dass du einen Code mehrfach ausführen lassen musst. Zum Beispiel die Zahlen eins bis zehn. Ein Java Programm, welches die Zahlen eins bis zehn wiedergibt. Na wie wäre das? Der Java Code dazu würde so aussehen: public class […]

Java Konsolenausgaben mit formatierten Zahlen

Java Konsolenausgaben Zahlen

Java Konsolenausgaben erzeugst du mit der System.out.println()-Anweisung. Dies ist relativ einfach. Aber es ist mitunter nicht ganz praktisch. Und zwar immer dann, wenn Zahlen im Spiel sind. Die Zahlen welche dann auf deiner Java Konsole erscheinen, sind unformatiert. Sie haben zu viele Kommastellen. Oder für eine bessere Darstellung benötigst du den Tausenderpunkt. Vielleicht möchtest du […]

Die vier verschiedenen Zahlensysteme in der Java Programmierung

Java Zahlensysteme

Java Zahlensysteme – Was soll das? In sämtlichen Programmiersprachen werden Zahlen in Variablen abgespeichert. Wenn du dir die einzelnen primitiven Datentypen in Java einmal anschaust – wirst du feststellen – dass die Masse der Datentypen Zahlen annehmen und speichern können. Zahlen und die Mathematik dahinter spielen in der Programmierung eine sehr große Rolle. Ganz am […]

So legst du Utility Klassen in Java an

Java Utility Klassen

Utility Java Klassen – was ist das? Man nennt diese auch Hilfsklassen von Java. Diese Utility Klassen sind Java Klassen, welche lediglich Methoden und Konstanten anbieten. Am Beispiel: Die Klasse Math ist so eine klassische Utility Klasse. Wozu braucht man solche Klassen? Diese Klassen sind so etwas wie ein Werkzeugkoffer für jedes Java Programm. Hier […]

So verwendest du Inkrement und Dekrement Operatoren in deinen Java Programmen

Java Operatoren

In diesem Beitrag geht es um Java Operatoren. Ich möchte dir gern zwei neue Operatoren vorstellen. Diese nennen sich Inkrement und Dekrement. Ja was heißt das? Inkrementieren bedeutet eine schrittweise Erhöhung einer Zahl. Und dementsprechend bedeutet Dekrementieren: Die schrittweise Verminderung einer Zahl. Wozu brauchst du das? Stell dir vor. Du bekommst eine Liste mit Namen […]

Beim Aufruf werden Java Methoden auf dem Stack gestapelt

Java Methoden gestapelt

Java Methoden werden beim Aufruf gestapelt. Und jedes Element auf dem Stapel nimmt Speicherplatz weg. Und manchmal ist es so, dass der Stapel richtig hoch wird und dann…. Ja was passiert eigentlich dann? Betrachten wir einmal ein Computerspiel. Irgendeines. In diesem Computerspiel gibt es Vögel, welche abgeschossen werden sollen. Was bedeutet das denn genau? Beim […]

Java Übung 24 – So kannst du Kommazahlen runden

Java Übung runden

In dieser Java Übung möchte ich mit dir Zahlen runden. Ich bitte dich deshalb: Erstelle eine Klasse „RundenUebung“. Lege dann eine statische Methode rundeZahl() an. Diese erwartet zwei Parameter. Parameter 1 ist die Kommazahl, welche gerundet werden soll. Als zweiten Parameter wird eine ganze Zahl übergeben, welche die Nachkommastelle – bis auf welche letztlich gerundet […]