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 implementierst du Instanzmethoden in deine Java Klasse

Java Instanzmethoden

In einen der letzten Beiträge habe ich dir gezeigt, wie du eine Klasse anlegen kannst. Ich habe die Klasse „Mensch“ oder „Human“ angelegt und wir haben die erste Instanzvariable implementiert. Dein Code sollte jetzt so aussehen: public class Human { int size=156;//size in centimeter } In diesem Beitrag werde ich dir zeigen, wie du Java […]

Java Übung 11 – Java Objekte in Java Methoden übergeben

Java Übung Java Methoden Objekte

In dieser Java Übung möchte ich dir zeigen, dass du auch in Klassenmethoden auf Objekte und deren Instanzvariablen zugreifen kannst. Schau dir dazu einmal diesen Java Code an. public class Umwandlung { private int x; public int getX() { // getter Methode return x; } public void setX(int x) { // setter Methode this.x = […]

So erstellst du deine ersten Java Klassen mit Eclipse

Java Klassen sind Baupläne für Java Objekte. Und da Java eine objektorientierte Programmiersprache ist, sind Java Klassen somit ein elementarer Bestandteil. In diesem Beitrag möchte ich dir zeigen, wie du eine Java Klasse in Eclipse erstellen kannst. Ich möchte dir außerdem zeigen, was physikalisch in deinem Projekt passiert. Ganz zum Schluss zeige ich dir noch, […]

Java Übung 21 – Bestimme die Anzahl der Tage

Java Übung Tage

In dieser Java Übung möchte ich, dass du eine Methode schreibst, welche zwei Zahlen entgegennimmt. Und zwar soll die erste Zahl das Jahr sein. Die zweite Zahl soll eine Monatsangabe (1-12) repräsentieren. Was soll die Methode dann machen? Die Methode soll dir die Anzahl der Tage des jeweiligen Monats zurückgeben. Achte auf Schaltjahre.

So nutzt du getter und setter Methoden bei der Java Programmierung

Java Keyword private

In diesem Artikel möchte ich dir zeigen, wie du Instanzvariablen innerhalb der Java Klasse schützt. Und den Zugriff nur noch indirekt über getter und setter Methoden anbietest. Stell dir vor. Du hast ein Programm zur Lagerverwaltung geschrieben. Dieses Programm dient Möbelhäusern dazu, ihre Bestände zu verwalten. Und das Programm erwartet vom Nutzer gewisse Eingaben zu […]

Java Übung: Alles beginnt mit Hello World

Java Übung Hello World

Alles beginnt mit „Hello World“. Sämtliche Java Bücher beginnen mit diesem ersten Beispiel. Auch die Java Übungen sollen mit diesem ersten Programm starten. Definiere eine Klasse „Hello World“. Implementiere die Main Methode. Die Main Methode soll bei Programmaufruf die Bildschirmanzeige „Hallo Welt“ zurückgeben. Die Lösung zur Java Übung „Hallo Welt“ public class HelloWorld{ public static […]

Java lernen durch ständiges Testen – Nutze die Testumgebung von Eclipse

Java Programmierung lernen

Probieren geht über studieren Wenn du wirklich Java Programmierung lernen möchtest, dann solltest du Java nicht aus einem Buch lernen. Du solltest auch nicht strikt von dieser oder anderen Webseiten lernen. Etwas wirklich zu lernen, setzt die Bereitschaft voraus, etwas zu probieren. Denn nur durch eigenes Probieren gelangst du zum Wesentlichen. Durch Probieren wirst du […]

Java for Schleifen schachteln – So funktioniert es

Java For Schleifen schachteln

Diese Situation kennst du doch auch…. Du stehst an der Haltestelle und wartest auf den Bus. Dein Blick fällt auf die Uhr.   Oder du wartest an der Ecke auf deinen Freund oder Kollegen. Immer wieder schaust du auf deine Uhr.   Sie ist kaum noch wegzudenken. Die mobile Taschenuhr.   Lange Zeit wurde die […]

Von Java Klassen zum Java Programm – Der Programmstart

Java Klassen ausführen

In den letzten Beiträgen hast du gelernt, wie Java Klassen erstellt werden und aufgebaut sind. In diesem Beitrag geht es um den Programmstart. Ich will dir zeigen, was nötig ist, dass du ein Java Programm ausführen kannst. Und ich zeige dir außerdem, wie du eine Startklasse in einem x-beliebigen Javaprogramm anlegst. Wie auch schon zuvor, […]

8 Java Datentypen, die du kennen solltest

Java Datentypen

Java Datentypen Ich gebe zu, ich hasse dieses Thema. Denn es ist eigentlich nichts weiter als graue Theorie. Dennoch müssen wir dieses Thema behandeln. Um schnell in das Thema zu kommen, stelle ich dir eine Übersicht aller primitiven Datentypen zur Verfügung. Wieso primitive? Es gibt außer den primitiven Datentypen, noch Referenztypen. Und diese Referenztypen sind […]