Parameter von Methoden
Einer Java Methode kannst du Parameter übergeben. In diesem Beitrag lernst du, was Parameter sind und wie du sie in einer Methode nutzen kannst.
Du möchtest das Thema Parameter von Methoden anschaulich erklärt bekommen? Dann schau dir unbedingt unser Video dazu an!
Inhaltsübersicht
Java Parameter
Parameter hast du bestimmt schon einmal in einem Java Programmcode gesehen oder sogar selbst benutzt. Spätestens als du mit der Java Klasse String und einem Stringobjekt experimentiert hast, solltest du schon auf Parameter gestoßen sein.
Ein Parameter in Java enthält Daten, die man über die runden Klammern beim Methodenaufruf an die Methode selbst übergeben kann. Dieses Vorgehen ist sehr wichtig, da sich Methoden außerhalb der main-Methode befinden und somit keinen Zugriff auf lokale Daten haben, welche innerhalb der main-Methode initialisiert sind. Damit andere Methoden mit den aktuellen Daten arbeiten können, müssen diese Daten mit den Parametern an eine Methode übergeben werden.
Das kannst du dir in etwa so vorstellen: Du rufst zum Beispiel einen Pizzaservice an, um eine Pizza nach Hause zu bestellen. Dafür musst du dem Service deine Adresse mitteilen, damit deine Pizza bei dir ankommt.
Diesen Service kannst du dir als eine Java Methode vorstellen. Du rufst die Methode auf und sie macht ihren Job. Manche Methoden brauchen aber noch extra Daten, wenn sie aufgerufen werden, damit sie mit diesem Wissen arbeiten können. Und genau hier kommen die Parameter ins Spiel.
Bei jeder Methodendeklaration muss angegeben werden, wie viele Java Parameter diese Methode beim Aufruf bekommt. Dabei ist es egal ob sie einen, zwei, zehn oder gar keinen Parameter hat. Hauptsache sie bekommt alle Daten, die sie benötigt.
Parameter übergeben
Im Bild siehst du eine void-Methode, also eine Methode, die keinen Wert zurückgibt. Diese Methode soll irgendetwas machen. Was genau sie macht, ist im Moment nicht von Bedeutung. Wichtig sind die Java Parameter in den runden Klammern.
In diesem Beispiel werden drei primitive Datentypen als Parameter in der Methode angegeben. Ein boolean
, ein long
und ein char
Datentyp. Alle Datentypen wurden schon mit einem Namen deklariert. Dabei musst du dich aber nicht auf die primitiven Datentypen beschränken. Wenn du möchtest, kannst du auch ganze Java Objekte in Parametern deklarieren. Initialisieren darf man sie in den Parametern der Methodendeklaration jedoch noch nicht. Dieser Schritt wird erst beim Methodenaufruf gemacht.
Konkretes Beispiel Parameterübergabe
Die Methode diff
, soll die Differenz zweier Werte berechnen und das Ergebnis als double
zurückgeben. Damit sollte dir klar sein, dass die Java Methode diff
beim Aufruf zwei Werte braucht, mit denen sie arbeiten kann.
Diese Methode diff
kannst du nun in der main-Methode mit den Parametern 10 und 5 aufrufen und das Ergebnis in der Variablen difference
speichern.
Wie wir vorhin schon festgestellt haben, handelt es sich bei diff
um eine Methode, die einen double
Wert zurückgibt. Deswegen speichern wir den Wert, den die Methode zurückgibt, direkt in der Java Variablen difference
.
Aber was für ein Wert steckt nun in der Variable difference
? Das ist ganz einfach. Wir wissen ja schon, dass die Methode x-y
berechnet. Außerdem haben wir in der Methodendeklaration angegeben, dass diese Methode zwei Werte übergeben bekommt, und zwar x
und y
. Beim Methodenaufruf in der main-Methode initialisieren wir die beiden Variablen. Dabei bekommt x
den Wert 10 und y
den Wert 5. Also rechnet die Methode 10-5. Damit ist das Ergebnis 5 und der Wert wird in der Variable difference
gespeichert.
Parameterübergabe Fehlerbehandlung
Du musst immer darauf achten, in welcher Reihenfolge die Parameter von der Methodendeklaration angegeben sind und wie viele es sind. Denn solltest du beim Aufrufen der Methode diff
weniger oder mehr Java Parameter übergeben als verlangt, dann meldet der Compiler einen Fehler. Zusätzlich musst du darauf achten immer den richtigen Datentyp zu übergeben.
Wenn also ein double
an der ersten Parameterstelle verlangt wird, dann darfst du an dieser Stelle nur Zahlen verwenden und nicht zum Beispiel ein true
. Den Wert true
könntest du nur übergeben, wenn die Parameterstelle als boolean
deklariert wurde.
Übergabe von Variablen
Neben WERTE kannst du beim Methodenaufruf auch Java Variablen übergeben. Dafür haben wir zwei Variablen in der main-Methode deklariert und initialisiert. Sie besitzen den gleichen Namen wie die Variablen in der diff
Methode. Da es sich aber um lokale Variablen handelt, sind diese somit nicht methodenübergreifend und es entsteht kein Fehler. Diese Variablen können wir dann ganz einfach in den Methodenaufruf einbauen und bekommen das gleiche Ergebnis.
Du fragst dich, warum dann eigentlich der ganze Aufwand? Wenn du dein Programm anpassbarer gestalten möchtest, ist die Verwendung von Variablen – wie wir es hier gemacht haben – hilfreich und oftmals sogar unumgänglich. Denn sie ermöglichen es dir, Parameter schnell und einfach zu ändern.