Heim  >  Artikel  >  Java  >  Können Java-Schnittstellen vererbt werden?

Können Java-Schnittstellen vererbt werden?

青灯夜游
青灯夜游Original
2019-11-18 14:36:527581Durchsuche

Können Java-Schnittstellen vererbt werden?

Können Java-Schnittstellen vererbt werden?

Java-Schnittstellen können vererbt werden, und es handelt sich um Mehrfachvererbung, aber nur Schnittstellen können Schnittstellen erben und Klassen können nur Schnittstellen implementieren. Eine Schnittstelle kann eine andere oder mehrere Schnittstellen erben, und eine gemeinsame Klasse kann mehrere Schnittstellen implementieren.

Eine Schnittstelle ist eine Sammlung konstanter Werte und Methodendefinitionen. Eine Schnittstelle ist eine spezielle Art abstrakter Klasse.

Java-Klassen sind Einzelvererbung. classB Erweitert classA

Java-Schnittstelle kann mehrfach vererbt werden. Interface3 erweitert Interface0, Interface1, Schnittstelle...

Der Hauptgrund, warum die Mehrfachvererbung von Klassen nicht zulässig ist, besteht darin, dass A B und C gleichzeitig erbt und B und C ein D haben Methode gleichzeitig, wie entscheidet A, welche Methode Sie erben sollen?

Aber bei Schnittstellen gibt es kein solches Problem. Schnittstellen sind alle abstrakte Methoden und es spielt keine Rolle, wer sie erbt, daher können Schnittstellen mehrere Schnittstellen erben.

Hinweis:

1) Wenn eine Klasse eine Schnittstelle implementiert, muss sie alle Methoden der Schnittstelle implementieren.

2) Der Name, der Rückgabetyp und die Parameter der Methode müssen genau mit denen in der Schnittstelle übereinstimmen. Wenn der Rückgabetyp der Methode nicht void ist, muss der Methodenkörper mindestens eine Return-Anweisung enthalten.

3) Da die Schnittstellenmethode standardmäßig vom öffentlichen Typ ist, muss sie bei der Implementierung mit public geändert werden (andernfalls wird standardmäßig der geschützte Typ verwendet, was den Anwendungsbereich der Methode verringert).

Beispiel:

interface A{
    void a1();
}
 
interface B{
    void b1();
}
 
interface C extends A,B{//注意该语法只对接口的继承是合法的
    void c1();
}
 
class D implements C{
 
    @Override
    public void a1() {}
 
    @Override
    public void b1() {}
 
    @Override
    public void c1() {}
}

Schnittstelleneigenschaften:

1. Bei der Deklaration einer Schnittstelle müssen Sie die Zusammenfassung nicht verwenden Schlüsselfigur.

2. Jede Methode in der Schnittstelle ist auch implizit abstrakt, und das Schlüsselwort abstract ist bei der Deklaration ebenfalls nicht erforderlich.

3. Die Methoden in der Schnittstelle sind alle öffentlich.

4. Beim Kompilieren wird der öffentliche abstrakte Modifikator automatisch zu den in der Schnittstelle definierten Methoden hinzugefügt.

5 Mitgliedsvariablen in der Java-Schnittstelle können nur gemeinsam mit dem öffentlichen statischen Finale geändert werden Es muss ein Anfangswert zugewiesen werden. Sie müssen kein öffentliches statisches Finale schreiben, es wird während der Kompilierung automatisch hinzugefügt.

Das obige ist der detaillierte Inhalt vonKönnen Java-Schnittstellen vererbt werden?. 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
Vorheriger Artikel:Welche Reflexion ist Java?Nächster Artikel:Welche Reflexion ist Java?