Für den Erwerb von Java Silver werde ich die Teile zusammenfassen, die in den Grundlagen von Java nicht gut verstanden werden.
Ich glaube, ich verstehe das Konzept der Vererbung selbst. Persönlich denke ich, dass es einfacher zu verstehen ist, wenn Sie es als Erweiterung der Funktion ausdrücken, anstatt es zu erben. Das Bild einer Unterklasse ist, dass die Oberklasse einen höheren Abstraktionsgrad und weniger Funktionen aufweist und spezifischere Funktionen hinzugefügt wurden, um sie zu einer Oberklasse + α (Erweiterung) zu machen.
・ Super Klasse
SuperA.java
class SuperA {}
SubA.java
class SubA extends SuperA {}
SubA.java
class SubA extends SuperA, SuperB {}
--Private Mitglieder, die in Oberklassen definiert sind, können nicht in Unterklassen verwendet werden.
In der Oberklasse definierte Mitglieder können in der Unterklasse verwendet werden, private Mitglieder können jedoch nur aus derselben Klasse verwendet werden, sodass sie nicht in der Unterklasse verwendet werden können.
Wenn Sie beispielsweise eine Methode überschreiben möchten, die public in einer Oberklasse angibt, müssen Sie public angeben. (Der Offenlegungsbereich kann nicht eingegrenzt werden.)
・ Öffentlicher Bereich von Zugriffsmodifikatoren
breit | ─ | ─ | eng |
---|---|---|---|
public | protected | Standard | private |
Zugänglich von jeder Klasse | Unterklasse oder gleiches Paket | Gleiches Paket | Nur gleiche Klasse |
Es gibt die folgenden zwei Arten der Typkonvertierung in Oberklasse und Unterklasse.
--Typkonvertierung durch Besetzung Unterklasse ← Superklasse Implementierungsklasse ← Schnittstelle
Mit anderen Worten, ist es ein Bild, dass eine implizite Typkonvertierung durchgeführt werden kann, wenn die Funktionen, die nach der Konvertierung verwendet werden können, nicht reduziert werden?
--Mitglieder beim Überschreiben angerufen
Wenn ein Unterklassenobjekt einer Variablen vom Typ Oberklasse zugewiesen wird, werden die Mitglieder der Oberklasse mit Ausnahme der Instanzmethode aufgerufen.
Recommended Posts