Heim  >  Artikel  >  Java  >  Analyse abstrakter Java-Klassen und Schnittstelleninstanzen

Analyse abstrakter Java-Klassen und Schnittstelleninstanzen

王林
王林nach vorne
2023-04-30 11:40:061324Durchsuche

1. Abstrakte Klasse

1.1 Konzept der abstrakten Klasse

Wir alle wissen, dass Objekte durch Klassen beschrieben werden, aber das bedeutet nicht, dass alle Klassen zur Beschreibung von Objekten verwendet werden

Eine Klasse enthält nicht genügend Informationen, um a zu beschreiben spezifisches Objekt, das ist die abstrakte Klasse

Das Schlüsselwort der abstrakten Klasse: abstract

1.2 Abstrakte Methode

Werfen wir zunächst einen Blick auf die zuvor geschriebene Klasse:

class Plant {
    String name;
    String source;
    String genus;
    public void trait() {
        System.out.println("父类方法");
    }
}
class Tree extends Plant {
    @Override
    public void trait() {
        System.out.println("子类方法");
    }
}

Da die Trait-Methode eine überschriebene Methode ist, dann dort Es ist überhaupt nicht nötig, das Merkmal der übergeordneten Klasse zu implementieren, also können wir es in eine abstrakte Methode umwandeln

Hinweis: Eine abstrakte Klasse kann keine abstrakte Methode haben, aber die abstrakte Methode muss in der abstrakten Klasse sein

abstract class Plant {
    String name;
    String source;
    String genus;
    public abstract void trait();
}
class Tree extends Plant {
    @Override
    public void trait() {
        System.out.println("子类方法");
    }
}

Analyse abstrakter Java-Klassen und Schnittstelleninstanzen

1.3 Details zu abstrakten Klassen

1. Abstrakte Klassen sind für die Vererbung gedacht und können sich daher nicht von gewöhnlichen Klassen unterscheiden

2 , aber abstrakte Methoden müssen in abstrakten Klassen vorhanden sein

3. Wenn eine normale Klasse eine abstrakte Klasse erbt, muss sie alle abstrakten Methoden in der abstrakten Klasse neu schreiben

4 Es besteht derzeit keine Notwendigkeit, abstrakte Methoden neu zu schreiben

5. Final kann abstrakte Klassen und abstrakte Methoden nicht ändern

6. Abstrakte Methoden können nicht mit privaten und statischen Methoden geändert werden

Einige Leute finden es möglicherweise seltsam: Gewöhnliche Klassen können auch vererbt werden Warum müssen wir als übergeordnete Klassen eine weitere abstrakte Klasse erstellen?

Wir könnten genauso gut ein Szenario annehmen: Sie instanziieren das übergeordnete Klassenobjekt, wenn Sie das Objekt instanziieren, wie folgt:

public static void main(String[] args) {
        Plant tree=new Plant();
        tree.trait();
    }

Wenn die übergeordnete Klasse eine normale Klasse ist, meldet der Compiler zu diesem Zeitpunkt keinen Fehler und ruft direkt auf Methode der übergeordneten Klasse

Wenn die übergeordnete Klasse eine abstrakte Klasse ist, meldet der Compiler direkt einen Fehler, sodass das Problem früher erkannt werden kann

2.1 Schnittstellenkonzept

Die sogenannte Schnittstelle ist eine öffentliche Verhaltensspezifikation. Richtlinien, zum Beispiel A4-Papier, die Größe von A4-Papier beträgt 210 mm * 297 mm, dann kann nur nach dieser Spezifikation produziert werden

In Java kann die Schnittstelle als angesehen werden die öffentliche Spezifikation mehrerer Klassen, und es handelt sich um einen Referenztyp Daten

Schnittstellenschlüsselwort: Schnittstelle

2.2 Details der Schnittstelle

Bei Schnittstellen sind auch einige Dinge zu beachten:

1 von anderen Klassen und kann nicht instanziiert werden

2. Innerhalb der Schnittstelle können Methoden nur abstrakte Methoden sein, und der Standardwert ist öffentliche statische Modifikation

3 Die Mitgliedsvariablen der Schnittstelle sind standardmäßig statische Konstanten, daher müssen sie initialisiert werden

4. Das zum Implementieren der Schnittstelle verwendete Schlüsselwort lautet „implementiert“, und die Klassenimplementierungsschnittstelle muss noch neu geschrieben werden.

5 Schnittstellen können keine Konstruktoren und statischen Codeblöcke haben.

6

7. Beim Erstellen einer Schnittstelle beginnt der Name der Schnittstelle im Allgemeinen mit dem Großbuchstaben „I“ (empfohlen, keine zwingende Anforderung)

8 Schnittstellen können auch Polymorphismus erreichen

Die Hauptaufgabe von Schnittstellen in Java ist um Mehrfachvererbung zu implementieren

Eine Klasse in Java kann nur eine übergeordnete Klasse erben, aber mehrere Schnittstellen implementieren

Abstrakte Klassen und Schnittstellen sind ähnlich, aber der wichtigste Unterschied zwischen ihnen besteht darin, dass abstrakte Klassen gewöhnliche und gewöhnliche Mitgliedsmethoden haben können Mitgliedsvariablen, während Methoden in Schnittstellen nur abstrakte Methoden sein können

Die Einführung in abstrakte Klassen und Schnittstellen ist abgeschlossen. Im nächsten Artikel werden einige der wichtigeren Schnittstellen in Java vorgestellt

Das obige ist der detaillierte Inhalt vonAnalyse abstrakter Java-Klassen und Schnittstelleninstanzen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen