English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java Grundlegende Anleitung

Java Flusskontrolle

Java Array

Java objektorientiert (I)

Java objektorientiert (II)

Java objektorientiert (III)

Java Ausnahmebehandlung

Java Liste (List)

Java Queue (Warteschlange)

Java Map Sammlung

Java Set Sammlung

Java Eingabe und Ausgabe (I/O)

Java Reader/Writer

Java andere Themen

Java Methodenüberschreibung

In diesem Artikel werden Sie die Methodenüberschreibung sowie deren Implementierung in Java anhand von Beispielen kennenlernen.

In Java, wenn zwei oder mehrMethodeFalls die Parameter unterschiedlich sind (unterschiedliche Anzahl von Parametern, unterschiedliche Typen von Parametern oder beide), können sie denselben Namen haben. Diese Methoden werden als Überschreibmethoden bezeichnet, und diese Funktion wird als Methodenüberschreibung bezeichnet. Zum Beispiel:

void func() { ... }
void func(int a) { ... }
float func(double a) { ... }
float func(int a, float b) { ... }

Hier ist die Methode func() überschrieben. Diese Methoden haben den gleichen Namen, aber akzeptieren unterschiedliche Parameter.

Bitte beachten Sie, dass die Rückgabetypen dieser Methoden unterschiedlich sind. Überschriebene Methoden können unterschiedliche Rückgabetypen haben, können aber auch nicht unterschiedliche Rückgabetypen haben, aber sie müssen unterschiedliche Parameter akzeptieren.

Warum Methodenüberschreibung?}

Angenommen, Sie müssen die Addition eines bestimmten numerischen Wertes durchführen, aber es können eine beliebige Anzahl von Parametern geben (aus Gründen der Einfachheit kann man sagen2oder3Parameter).

Um die Aufgabe zu erledigen, können zwei Methoden sum für zwei und drei Parameter erstellt werden2num(int, int) und sum3num(int, int, int). Aber andere Programmierer und Sie selbst könnten verwirrt sein, weil beide Methoden dasselbe Verhalten haben, aber unterschiedliche Namen tragen.

Die bessere Methode, dies zu tun, ist die Überschreibung von Methoden. Und je nach übergebenem Parameter wird eine der überschriebenen Methoden aufgerufen. Dies hilft, die Lesbarkeit des Programms zu verbessern.

Wie führt man Methodenüberschreibung in Java aus?

Hier sind verschiedene Methoden zur Ausführung von Methodenüberschreibungen:

1.durch Ändern der Anzahl der Parameter zu überschreiben

class MethodOverloading {
    private static void display(int a){
        System.out.println("Parameter: " + a);
    }
    private static void display(int a, int b){
        System.out.println("Parameter: " + a + " und " + b);
    }
    public static void main(String[] args) {
        display(1);
        display(1, 4);
    }
}

Ausgabe:

Parameter: 1
Parameter: 1 und 4

2.durch Ändern des Datentyps der Parameter

class MethodOverloading {
    //Diese Methode akzeptiert int
    private static void display(int a){
        System.out.println("Es wurde Integer-Daten erhalten.");
    }
    //Diese Methode akzeptiert ein String-Objekt
    private static void display(String a){
        System.out.println("Es wurde ein String-Objekt erhalten.");
    }
    public static void main(String[] args) {
        display(1);
        display("Hello");
    }
}

Ausgabe:

Es wurde Integer-Daten erhalten
Es wurde ein String-Objekt erhalten.

Hierbei akzeptieren beide überschriebenen Methoden einen Parameter. Aber eine akzeptiert einen int-Typen, während die andere ein String-Objekt akzeptiert.

Lassen Sie uns einen realen Beispiel betrachten:

class HelperService {
    private String formatNumber(int value) {
        return String.format("%d", value);
    }
    private String formatNumber(double value) {
        return String.format("%.",3f", value);
    }
    private String formatNumber(String value) {
        return String.format("%.",2f", Double.parseDouble(value));}}
    }
    public static void main(String[] args) {
        HelperService hs = new HelperService();
        System.out.println(hs.formatNumber(5))
        System.out.println(hs.formatNumber(89.9934))
        System.out.println(hs.formatNumber("550"));
    }
}

Wenn Sie das Programm ausführen, lautet die Ausgabe:

500
89.993
550.00

BeachtungIm Java können Sie auch Konstruktoren auf ähnliche Weise überschreiben, wie Methoden.

Empfohlen: Java Konstruktorüberschreibung

Beachtungspunkte

  • Wenn zwei oder mehrere Methoden verschiedene Parameter akzeptieren, können sie denselben Namen in derselben Klasse haben. Diese Funktion wird als Methodenüberschreibung bezeichnet.

  • Methodenüberschreibung kann durch eine der folgenden Methoden erreicht werden:

    • Ändern Sie die Anzahl der Parameter.

    • Oder ändern Sie den Datentyp der Parameter.

  • Methodenüberschreibung kann nicht durch Ändern des Rückgabetyps der Methode erreicht werden.