Heim  >  Artikel  >  Java  >  Können Schnittstellen Methoden aus der Klasse „Object“ in Java aufrufen?

Können Schnittstellen Methoden aus der Klasse „Object“ in Java aufrufen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-27 16:02:02524Durchsuche

Can Interfaces Call Methods from the `Object` Class in Java?

Erben Schnittstellen in Java von der Objektklasse?

In Java sind Schnittstellen deklarierte Entitäten, die einen Vertrag definieren, den eine Klasse implementieren soll. Im Gegensatz zu Klassen erben Schnittstellen nicht direkt von der Object-Klasse.

Obwohl Schnittstellen nicht explizit von Object erben, können sie dennoch Methoden aufrufen, die in der Object-Klasse definiert sind. Dies liegt daran, dass Schnittstellen implizit öffentliche abstrakte Methoden für jede öffentliche Methode in der Object-Klasse deklarieren.

Betrachten Sie beispielsweise den folgenden Code:

<code class="java">public class Test {
    public static void main(String[] args) {
        Employee e = null;
        e.equals(null);
    }
}

interface Employee {
}</code>

In diesem Code ist Employee ein Schnittstelle und erbt nicht explizit von Object, erkennt der Java-Compiler, dass eine Schnittstelle implizit die Methode „equals“ deklariert, sodass sie auf einer Employee-Instanz aufgerufen werden kann.

Dieses Verhalten ist in der Java-Sprachspezifikation, Abschnitt 9.2, spezifiziert , die besagt, dass eine Schnittstelle ohne direkte Superschnittstellen implizit eine öffentliche abstrakte Mitgliedsmethode für jede in Object deklarierte öffentliche Instanzmethode deklariert. Dadurch wird sichergestellt, dass Schnittstellen mit der Object-Klasse und ihren Methoden interagieren können, ohne explizit von ihr zu erben.

Das obige ist der detaillierte Inhalt vonKönnen Schnittstellen Methoden aus der Klasse „Object“ in Java aufrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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