Java 7 Grundkurs

Das Verhalten eines Objekts: Methoden

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Methoden beschreiben das Verhalten eines Objekts und das ist Gegenstand in diesem Beispiel. Dabei geht es darum, wie man Methoden deklariert, aufruft und auch Werte wieder an den Aufrufenden zurückgibt.
05:37

Transkript

In diesem Video schauen wir uns genauer an, wie Java-Methoden aufgebaut sind. Dazu habe ich hier eine Klasse "Auto". Diese Klasse ist also ein Bauplan für Auto-Objekte, und wenn zur Laufzeit des Programms nach diesem Bauplan Auto-Objekte erzeugt werden, dann sehen die alle genau so aus, wie das in diesem Bauplan beschrieben ist. D.h., die haben alle ein Attribut "Geschwindigkeit", und dann zwei Methoden, mit denen sie diese Geschwindigkeit beeinflussen können. Die Methoden heißen "beschleunigen()" und "bremsen()". Außerdem gibt es noch eine Methode, die heißt "getGeschwindigkeit()". Mit der können wir den aktuellen Stand der Geschwindigkeit auslesen. Ich nehme mal hier diese Leerzeilen raus. Das ist übrigens Strg+E, für "erase", damit können Sie eine ganze Zeile löschen. Wie sehen solche Methodendeklarationen nun genau aus? Wir können Methoden grundsätzlich nur innerhalb von Klassen deklarieren. Klassen sind ja Baupläne für Objekte und Objekte sollen später Methoden und Attribute haben. Also können wir Methoden nur innerhalb von Klassen deklarieren. Jede Methode hat einen Namen. Diese Methode heißt "beschleunigen()", diese heißt "bremsen()", und diese heißt "getGeschwindigkeit()". Der Name einer Methode sollte in Java Namenskonventionen genügen, das heißt er sollte keine Sonderzeichen enthalten wie Punkt oder Komma, und er sollte nicht mit einer Ziffer beginnen. Leerzeichen und Tabulatoren fallen natürlich völlig aus. Über ihren Namen kann die Methode später aufgerufen werden. Wenn ich nach einem solchen Bauplan ein Objekt gebaut habe, dann hat dieses Objekt ja eine solche Methode. Hier haben wir z.B. ein Auto, das heißt "meinAuto", und es ist nach dem Bauplan "Auto" gebaut, also der, den wir uns gerade angeschaut haben, "Auto". Dieses Auto "meinAuto" hat nun also Methoden, die heißen "beschleunigen()", und "bremsen()", und "getGeschwindigkeit()". Die Methode rufe ich auf, indem ich den Namen der Variablen nehme, einen Punkt dahintersetze, und dann sage, welche Methode ich gerne aufrufen möchte. Um also von einem Objekt eine Methode aufzurufen, muss ich immer zuerst sagen, welches Objekt ich meine, dann ein Punkt, und dann, welche Methode ich aufrufen möchte. Und die runden Klammern hintendran nicht vergessen. Die genaue Syntax einer Methode sieht nun folgendermaßen aus: ganz zu Beginn steht der sogenannte Sichtbarkeitsmodifizierer. An dieser Stelle steht "public", dort könnte aber auch "private" stehen. Eine "private" deklarierte Methode ist z.B. sinnvoll für Funktionalitäten, die das Objekt für sich selbst benötigt, die aber von außen nicht zugegriffen werden können sollen. Danach kommt der Rückgabetyp der Methode. Für jeden Aufruf dieser Methode irgendwo in unserem Programm muss der Compiler überprüfen können, ob der Rückgabewert der Methode korrekt weiterverwendet wird. Diese Methode z.B. gibt gar nichts zurück, deswegen steht hier "void". Das heißt, wenn diese Methode aufgerufen wird, dann kann ich nichts irgendwie zuweisen. getGeschwindigkeit() hingegen, liefert ein int zurück. D.h., wenn jemand diese Methode aufruft, dann kann er, was die Methode zurückgibt, einer int-Variablen zuweisen. Genau das machen wir hier auch, z.B. an dieser Stelle. Wir haben ein Auto-Objekt, rufen getGeschwindigkeit() auf, und der Rückgabewert gelangt in diese Variable, und die ist vom Typ int. Auf diese Weise kann bereits der Compiler überprüfen, ob alles seine Ordnung hat und es gelangen wesentlich weniger Fehler in das laufende Programm. Nun haben wir also den Sichtbarkeitsmodifizierer und wir haben den Rückgabetyp. Danach kommt der Name der Methode, und dann in runden Klammern eine mögliche Parameterliste. Das heißt, wenn wir an diese Methode irgendwelche Parameter übergeben möchten, dann kommen die hier hinein. Möchten wir keine Parameter übergeben, müssen wir mindestens die runden Klammern setzen. Nach der Deklaration des Methodenkopfes folgt nun der Methodenrumpf. Und zwar eingeschlossen in geschweifte Klammern. In diesen Methodenrumpf wird nun Anweisung für Anweisung hineingeschrieben, was passieren soll, wenn irgendwann mal irgendjemand diese Methode aufruft. Wenn in unserem Fall also z.B. jemand "beschleunigen()" aufruft, dann möchten wir gern, dass unser Auto beschleunigt. Das heißt, dass die Geschwindigkeit erhöht wird. Also schreiben wir genau das in diese Methode hinein. Damit ist die Aufgabe dieser Methode bereits erledigt, und wir sind schon am Ende angekommen. Geschweifte Klammern zu, Methodenende. Anders sieht das aus, wenn die Methode etwas zurückgeben soll, wie hier z.B. getGeschwindigkeit(). Wenn jemand diese Methode aufruft, dann erwartet er, dass er etwas zurückbekommt. Und das heißt, wir müssen in die Methode reinschreiben, dass sie etwas zurückgeben soll. Dafür verwenden wir das Schlüsselwort "return". Nach "return" folgt das, was zurückgegeben werden soll. Das kann eine Variable sein, das kann ein Attribut sein, wie hier, es kann auch ein komplexerer Ausdruck sein. Entscheidend ist dabei, dass das, was zurückgegeben werden soll, immer vom Typ her zu diesem Typ passen muss, den wir hier oben deklariert haben. Klappt das nicht, dann bekommen wir - Sie ahnen es sicher bereits - genau, einen Compilerfehler. Wenn ich hier z.B. deklariere, dass wir einen Boolean zurückgeben, und gebe aber ein int zurück, denn Geschwindigkeit ist ja vom Typ int, bekomme ich einen Compilerfehler und der heißt "Inkompatible Typen". Machen wir das also nicht, so, alles wieder gut. Gebe ich gar nichts zurück, gibt es ebenfalls einen Compilerfehler, nämlich "Missing return statement". Also der Compiler wacht darüber, dass tatsächlich alles seine Ordnung hat. Machen wir auch das wieder rückgängig, und der Fehler verschwindet wieder. Damit haben Sie nun also gesehen, wie Sie Methoden deklarieren, wie Sie Methoden aufrufen, und wie Sie aus Methoden heraus Werte an den Aufrufer zurückgeben können.

Java 7 Grundkurs

Machen Sie sich mit den Grundlagen der Java-Programmierung vertraut und lernen Sie die Syntax der Sprache sowie das Konzept der objektorientierten Softwareentwicklung kennen.

8 Std. 32 min (66 Videos)
Derzeit sind keine Feedbacks vorhanden...

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!