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

Eine Java Konsoleneingabe machst du über den Scanner

Es wird Zeit für die erste Java Konsoleneingabe. Und diese Eingaben machst du über den Java Scanner. Was ist das? Der Scanner ist eine vorgefertigte Java Klasse, welche Java mit seiner API anbietet. Das heißt du musst nichts selbst erschaffen. Du musst nur wissen, wie du darauf zugreifst. Erst einmal musst du einen Scanner anlegen. […]

So nutzt du das Java Keyword public

Java Keyword public

Java Programme bestehen aus Java Klassen. Und der Zugriff auf eine Java Klasse sollte nach außen immer gewährleistet sein. Was bedeutet das? Du solltest in jeder Klasse die Möglichkeit haben, ein Objekt einer anderen Klasse anzulegen. Gerade durch diese Möglichkeit macht doch das ganze Klassenkonstrukt erst Sinn.

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. […]

Die mathematischen Grundlagen des Dezimalsystems für Java Programmierer

Java Dezimalsystem Mathematik Programmierer

Bei der Java Programmierung benötigst du Kenntnisse über das Dezimalsystem. Allein schon für die technische Umsetzung beim Runden einer Zahl. Oder du möchtest den Kehrwert bzw. den Umkehrwert einer Zahl im Programm bestimmen lassen. Aber auch für das Herausfinden des Stellenwertes – also wieviel Stellen hat eine Zahl – benötigst du das Grundwissen des Dezimalsystems. […]

Heap & Stack – Die Speicherverwaltung in Java

Java Speicher

Java nutzt eine interne Speicherverwaltung. Eigentlich sind es mehrere. Uns interessieren lediglich zwei. Da das Thema Speicherverwaltung recht umfangreich ist, habe ich dir im Folgenden einmal die wichtigsten Artikel zusammengestellt. Die zwei Speichersysteme von Java Java Methoden werden auf dem Stack gestapelt. Der Speicher auf dem Java Methoden zu Hause sind, nennt sich Stack Speicher. […]

Der bedeutende Unterschied zwischen Klassenvariablen und Instanzvariablen

Java Klassenvariablen

Bei der Java Programmierung unterscheidet man drei Arten von Variablen. Als erste Gruppe sind die lokalen Variablen zu nennen. Auf diese gehe ich in einem separaten Artikel ein. Mich interessieren die zwei anderen Variablentypen. Zum einen existieren Klassenvariablen. Und dann sind da noch die Instanzvariablen. Wo liegt der Unterschied? Instanzvariablen stehen einem Objekt zur Verfügung. […]

So unterstützen dich Java Vererbungstabellen beim Entwurf

Java Vererbungstabellen

Bei der Java Vererbung gibt es zwei Klassenarten bzw. -stufen. Die Superklassen, welche einen allgemeinen Typen darstellen Und die spezielleren Unterklassen, welche die Superklasse um bestimmte Funktionen erweitern. Jetzt ist dieses ganze „Der-erbt-von-dem-Konzept“ mitunter sehr schwierig darzustellen. Zum Beispiel in einem Werkzeugkoffer. In einem Werkzeugkoffer befinden sich sämtliche Werkzeuge, von Säge bis Bohrmaschine. Wie machst […]

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.

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 […]