Heim > Java > javaLernprogramm > Wie rufen Sie die Implementierung einer Standardmethode explizit in Java auf, wenn sie in einer Klasse überschrieben wird?

Wie rufen Sie die Implementierung einer Standardmethode explizit in Java auf, wenn sie in einer Klasse überschrieben wird?

Mary-Kate Olsen
Freigeben: 2024-11-16 04:34:03
Original
655 Leute haben es durchsucht

How do you invoke a default method's implementation explicitly in Java when it's overridden in a class?

Explizites Aufrufen von Standardmethoden in Java

Java 8 führte Standardmethoden ein, um Schnittstellen zu erweitern, ohne bestehende Implementierungen zu beschädigen. Wie rufen Sie jedoch die Standardimplementierung einer Methode auf, wenn diese überschrieben wird oder mit anderen Standardimplementierungen in Konflikt steht?

Im bereitgestellten Code wird die foo()-Methode als Standardmethode in der A-Schnittstelle definiert und überschrieben in der B-Klasse. Um auf die Standardimplementierung von A.foo() in der B-Klasse zuzugreifen, können Sie die folgende Syntax verwenden:

A.super.foo();
Nach dem Login kopieren

Dadurch können Sie die Standardimplementierung aufrufen, auch wenn sie überschrieben wurde. Es ist wichtig zu beachten, dass sich die A.super-Referenz auf den A-Schnittstellentyp und nicht auf das B-Klassenobjekt bezieht.

public class ChildClass implements A, C {
    @Override
    public void foo() {
        // Override the default implementation
        System.out.println("ChildClass.foo()");
    }

    public void callDefault() {
        // Invoke the A.foo() default implementation
        A.super.foo();
        // Invoke the C.foo() default implementation
        C.super.foo();
    }
}
Nach dem Login kopieren

In diesem Beispiel implementiert die ChildClass sowohl die A- als auch die C-Schnittstelle, jede mit ihrer eigenen Standardmethode foo(). Durch die Verwendung von A.super.foo() und C.super.foo() kann explizit auf die Standardimplementierungen zugegriffen werden, was ein bestimmtes Verhalten oder eine Konfliktlösung ermöglicht.

Das obige ist der detaillierte Inhalt vonWie rufen Sie die Implementierung einer Standardmethode explizit in Java auf, wenn sie in einer Klasse überschrieben wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage