Heim > Java > javaLernprogramm > Erben Java-Schnittstellen von der Objektklasse?

Erben Java-Schnittstellen von der Objektklasse?

DDD
Freigeben: 2024-10-29 11:08:30
Original
698 Leute haben es durchsucht

 Do Java Interfaces Inherit from the Object Class?

Erben Schnittstellen von der Objektklasse in Java?

In Java fungieren Schnittstellen als Blaupausen für die Deklaration von Methodensignaturen und die Bereitstellung abstrakter Implementierungen. Ein häufiges Missverständnis ist, ob Schnittstellen wie Standardklassen von der Object-Klasse erben.

Keine Vererbung von der Objektklasse

Entgegen der landläufigen Meinung erben Schnittstellen nicht direkt von die Object-Klasse. Dies bedeutet, dass sie standardmäßig keinen Zugriff auf Methoden wie equal(), hashCode(), toString() oder wait() haben.

Aufrufen von Objektklassenmethoden auf Schnittstellen

Obwohl Schnittstellen nicht von Object erben, können sie dennoch Methoden aus der Object-Klasse aufrufen. Dies liegt daran, dass Schnittstellen implizit öffentliche abstrakte Methoden deklarieren, die allen öffentlichen Instanzmethoden in Object entsprechen, es sei denn, sie erben diese Methoden bereits von einer Superschnittstelle.

Betrachten Sie beispielsweise den folgenden Code:

<code class="java">interface Employee {
}

public class Test {
    public static void main(String[] args) {
        Employee e = null;
        e.equals(null);
    }
}</code>
Nach dem Login kopieren

In diesem Code deklariert die Employee-Schnittstelle nicht explizit eine equal()-Methode. Der Ausdruck e.equals(null) lässt sich jedoch erfolgreich kompilieren, da die Methode equal() in Employee (und allen anderen Schnittstellen) implizit als öffentliche abstrakte Methode deklariert ist.

Grund für die implizite Schnittstellendeklaration von Objektmethoden

Diese implizite Deklaration von Objektmethoden in Schnittstellen ermöglicht eine nahtlose Interaktion von Schnittstellen mit dem breiteren Java-Ökosystem. Es ermöglicht Schnittstellen, Standardbibliotheksmethoden für Objektvergleich, Hashing, String-Darstellung und Synchronisierung zu nutzen, ohne diese Methoden explizit zu definieren.

Das obige ist der detaillierte Inhalt vonErben Java-Schnittstellen von der Objektklasse?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage