Heim >Java >javaLernprogramm >JAVA fasst abstrakte Klassen und Schnittstellen zusammen
1. Abstrakte Klasse
a) Eine Unterklasse einer abstrakten Klasse muss alle Abstraktionen der übergeordneten Klasse überschreiben Methode
i Wenn Sie es nicht überschreiben möchten, es sei denn, die Unterklasse selbst ist auch eine abstrakte Klasse; b)
Erlauben abstrakte Klassen Konstruktoren? i
Erlauben! (Prüfung nach der Klasse), Erklärung: Der Konstruktor der Zeichnungsklasse hat eine weitere clevere Anwendung: Er dient dazu, den Code zu implementieren, den die Unterklasse darin ausführen muss. 2.
MyeclipseNutzungsdetailsa)
in MyEclipse zeigt auf der linken Seite ein Dreieck an dass diese Methode schwer ist. Schreiben Sie eine reguläre Methode der übergeordneten Klasse. ii
Wenn es sich um ein leeres Dreieck handelt, bedeutet dies, dass diese Methode eine überschriebene Zusammenfassung ist Methode der Elternklasse;3.
Polymorphismusa)
Bedingungen zum Erreichen Polymorphismus:muss Vererbung haben;
muss überschreiben;
iii. Die übergeordnete Klassenreferenz verweist auf das Objekt der Unterklasse;b)
Die Rolle des Polymorphismus:i.
Beseitigen Sie die Kopplung zwischen Klassen(überprüfen Sie nach dem Unterricht)
ii.Polymorphismus spiegelt die Skalierbarkeit und Flexibilität des Programms wider
c)Zwei Möglichkeiten, Polymorphismus zu erreichen: i.
Verwenden Sie die abstrakte übergeordnete Klasse als formalen Parameter der Methodeii Verwenden Sie die abstrakte übergeordnete Klasse als Rückgabetyp der Methode
4 final
Schlüsselwort: final meaninga)
modifizierte Klasse bedeutet, dass diese Klasse keine Unterklassen zulässt; b)
modifizierte Methode Regel Gibt an, dass diese Methode kein Überschreiben zulässt
c) modifizierte Variable bedeutet, dass die Variable zu einer Konstante wird
5. Der Schwerpunkt dieses Abschnitts - Schnittstelle! 《Wichtige Punkte zum Meistern》
a)Es ist eine spezielle abstrakte Klasse
i.Der Grund dafür ist, dass einige spezielle Methoden nicht für die Abstraktion in die übergeordnete Klasse geeignet sind.
Der Grund dafür ist, dass sie nicht von vielen Unterklassen benötigt werden Haben Sie dieses Verhalten;In diesem Fall müssen wir auf die Gemeinsamkeit achten, aber auch die Merkmale berücksichtigen; Um dieses Problem zu lösen, nennt man dieses widersprüchliche Ding eine Schnittstelle!
Die Essenz der Schnittstelle: stellt eine Fähigkeit dar; 🎜>
Die Schnittstelle ist die Klassifizierungsverwaltung von Klassen; sie legt lediglich fest, was zu tun ist; sie ist in die Unterklassen selbst unterteilt 🎜> c)
Eine Klasse kann nur eine übergeordnete Klasse erben, aber mehrere Schnittstellen implementieren Mit anderen Worten, die Schnittstelle kann implementieren mehrere verschleierte Schnittstellen Vererbung;
-Schnittstelle Öffentliche abstrakte Methoden sind zulässig; ii. Im final
-Variablen (Konstanten) zulässig > Schnittstelle ) (Selbstzertifizierung nach dem Unterricht)
6.
Die Schnittstelle enthält die von der Klasse zu implementierenden Methoden7.
Ähnlichkeiten zwischen Schnittstellen und Klassen:
a)Eine Schnittstelle kann mehrere Methoden haben.
b) Die-Schnittstellendatei wird in einer Datei mit der Endung .java gespeichert und der Dateiname verwendet den Schnittstellennamen .
c) Die Bytecode-Datei der-Schnittstelle wird in der Datei mit der Endung .class gespeichert.
d)
Die der Schnittstelle entsprechende Bytecode-Datei muss in einer Verzeichnisstruktur liegen, die dem Paketnamen entspricht.8.
Der Unterschied zwischen Schnittstellen und Klassen:a) Schnittstellen können nicht sein Wird verwendet, um das Objekt zu instanziieren. b) Die Schnittstelle hat keine Konstruktormethode. c) Alle Methoden in der Schnittstelle müssen abstrakte Methoden sein. d) Die -Schnittstelle kann keine Mitgliedsvariablen enthalten, mit Ausnahme von statisch und finalVariablen. e) Schnittstellen werden nicht von Klassen geerbt, sondern von Klassen implementiert. f) Die Schnittstelle unterstützt Mehrfachvererbung. Das Obige ist die Zusammenfassung der abstrakten Klassen und Schnittstellen in JAVA. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!