Jetzt anmelden...

Login
Passwort
Registrieren

Java Blog

Was ist die Methodensignatur?

Es gibt immer wieder Unklarheit darüber, was genau mit der Signatur einer Methode in Java gemeint ist. Ist es die gesamte Methodendeklaration? Oder nur ein Teil davon - und falls ja: Welcher Teil? Lassen Sie uns diese Frage nun klären.

Kommentare [0]

Stefan 25.05.2019

Infos zum Artikel

Kategorie Java
Autor Stefan
Datum 25.05.2019

Artikel in Kurzform:

  • Methodensignatur = Methodenname + Parameterliste

Erklärung

Zunächst ein typisches Beispiel für eine Java-Methode:

public void calculate(int x, int y) {
    // Code der Methode
}

Die Methodendeklaration umfasst den gesamten Kopf der Methode. Die Methodensignatur dagegen wird nach Oracle wie folgt bestimmt:

  • Definition: Two of the components of a method declaration comprise the method signature—the method's name and the parameter types.

Also ist die Methodendefinition im obigen Beispiel calculate(int, int), das heißt der Name der Methode und die Parameterliste mit zwei ints.

Deshalb ist es auch zulässig, mehrere Methoden mit demselben Namen in einer Klasse zu deklarieren, solange die Paramterliste unterschiedlich ist. Man spricht dann von Methoden überladen:

public void calculate(int x, int y) {
    // Signatur der Methode: calculate(int, int)
}

public void calculate(double x) {
    // Signatur der Methode: calculate(double)
}

Rückgabetyp und Modifier spielen beim Auseinanderhalten von Methoden für den Compiler keine Rolle:

public void giveItToMe(String x, int y, boolean z){ // Fehler!
    // Code der Methode
}

private int giveItToMe(String x, int y, boolean z) { //Fehler
    // Code der Methode
}

Dieser Code lässt sich gerade darum nicht compilieren, da die beiden Methoden zwar unterschiedliche Zugriffsstufen und Rückgabetypen haben, aber eben diesselbe Signatur: giveItToMe(String, int, boolean).

Kommentar schreiben

Nur angemeldete und aktivierte Benutzer können kommentieren.

Alle Kommentare

Es gibt bislang noch keine Kommentare zu diesem Thema.

Objektsammlungen

Lernen Sie in diesem Kapitel, wie Sie eine Sammlung von Objekten erstellen können.

Java einrichten

Erfahren Sie, wie einfach es ist, mit Java zu beginnen

switch/ case Anweisung

Benötigen wir eine Unterscheidung nach vielen Fällen empfehlen sich switch-case-Statements.

FALCONBYTE.NET

Handmade with 🖤️

© 2018, 2019 Stefan E. Heller

Impressum | Datenschutz

facebook programmieren lernen twitter programmieren lernen youtube programmieren lernen