Solange es sich in Java um eine als final definierte Klasse oder eine durch final geänderte Klasse handelt, kann sie nicht vererbt werden.
Weil die Entwickler von JDK glauben, dass einige der grundlegendsten Klassen nicht unbedingt für Entwickler zugänglich sind. Wenn Benutzer beim Erben Fehler machen, kann dies viele Probleme verursachen. Um zu verhindern, dass Benutzer entsprechende Erweiterungen an Basisklassen vornehmen, spiegelt es auch das Öffnungs- und Schließprinzip im Java-Entwurfsprozess wider, und diese Klassen sind letztendlich als endgültig konzipiert.
Dies ist die Regel von final:
Wenn Sie final für eine Klasse verwenden, kann eine finale Klasse von niemandem geerbt werden, was bedeutet, dass diese Klasse von niemandem geerbt werden kann. Ein Vererbungsbaum ist eine Blattklasse, und das Design dieser Klasse gilt ohne
Modifikation oder Erweiterung als perfekt. Für Mitglieder in Abschlussklassen können Sie sie als Abschlussklassen definieren oder nicht. Was Methoden betrifft, so werden sie natürlich endgültig, da die Klasse, zu der sie gehören, endgültig ist. Sie können der Methode in der final
-Klasse auch explizit ein Finale hinzufügen, aber das ist offensichtlich bedeutungslos.
Übliche Klassen in Java, die nicht vererbt werden können, sind wie folgt:
String,
StringBuffer,
StringBuilder ,
Grundtypen von Verpackungsklassen wie Double, Integer, Long
und so weiter.
Sehen wir uns an, wie diese String-Klasse definiert ist:
Oben sehen wir deutlich, wie diese String-Klasse definiert ist Sehen Sie sich einen letzten Modifikator an!
Wenn Sie sagen, dass die gesamte Klasse final ist (stellen Sie ihr vor ihrer Definition das Schlüsselwort final voran), bedeutet dies, dass Sie nicht von dieser Klasse erben möchten oder niemandem erlauben möchten, diese Aktion auszuführen . Mit anderen Worten, aus dem einen oder anderen Grund benötigt unsere Klasse definitiv keine Änderungen; oder aus Sicherheitsgründen möchten wir keine Unterklassen erstellen (Unterklassenverarbeitung)
Empfohlenes Lernen:Java Video Tutorial
Das obige ist der detaillierte Inhalt vonWelche Klassen in Java können nicht vererbt werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!