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

So verwendest du den Java Oder Operator

Java Oder Operator

Kennst du das auch aus deiner Schulzeit? Du schreibst eine Klassenarbeit in irgendeinem Fach. Nehmen wir einfach mal an – Mathe. Jetzt bist gerade fertig mit deiner Arbeit. Und zu Hause wirst du gefragt: „Und wie lief es?“ Du antwortet:“ Ganz gut. Es wird bestimmt eine Eins oder eine Zwei.“ Drei oder vier Tage später […]

Java Übung 16 – Bestimme den größten gemeinsamen Teiler

Java Übung Teiler

In dieser Java Übung möchte ich, dass du den größten gemeinsamen Teiler zwei Zahlen ermittelst. Ich möchte, dass du das Ganze mit einer while-Schleife umsetzt. Und wie? Du legst eine neue Klasse „GGT“ (größter gemeinsamer Teiler) an. In diese Klasse implementierst du eine Klassenmethode „berechneGGT“. Diese erwartet zwei Argumente vom Datentyp Integer.

So kannst du deine Eclipse Oberfläche anpassen

Eclipse anpassen

In diesem Beitrag möchte ich dir zwei ganz nette Features von Eclipse vorstellen. Es geht um Views und um Perspektiven. Wie du schon weißt, besteht Eclipse aus einer grafischen Oberfläche. Und in dieser Oberfläche stehen dir verschiedene Views zur Verfügung. Was ist so ein View?

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

Java Strings landen im String Constant Pool

Java-Strings-Pool

Du kennst das. Es ist abends. Du sitzt gemütlich vor dem Fernseher. Das Smartphone bimmelt. Kein Anruf. Nein – Eine Nachricht. Du liest die Nachricht sofort und antwortest darauf. Minuten später bekommst du die nächste Nachricht. Und auch auf diese antwortest du. Im Laufe des Abends entsteht daraus eine nette kleine Konversation. Und eh du […]

So kannst du in Java Und Verknüpfung anlegen und auswerten

Java Und

In Java stehen dir eine Menge Operatoren zur Verfügung. Einer dieser Operatoren ist der Und-Operator. Dies ist ein logischer Operator, da dieser sogenannte Wahrheitswerte mit einander verknüpft. Also…. Was erwartet dich in diesem Beitrag? Zuerst möchte ich dir die Aussagenlogik hinter dem Und-Operator zeigen. Also wann sind Aussagen wahr und wann sind diese falsch. Dann […]

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

Lassen wir Java rechnen – Die Rechenoperationen für Variablen

Java rechnen

Ich liebe Mathe. In der Biographie „Der Mann, der die Zahlen liebte“, stellt Paul Hoffmann das Mathematikgenie Paul Erdös vor. Erdös war eines der größten Genies des 20 Jahrhunderts. Er arbeitete mit zahlreichen Wissenschaftlern zusammen und verfasste durchschnittlich mehr Publikationen im Jahr, als andere Mathematiker im ganzen Leben. Da Erdös sich mit sehr vielen Theoremen […]