Statische Methodenvererbung in Java: Erläuterung der Bucherklärung
Trotz der Behauptung im Buch, dass statische Methoden nicht vererbt werden, erlaubt Java Unterklassen um alle zugänglichen Methoden zu erben, einschließlich statischer. Das in der Frage bereitgestellte Beispiel veranschaulicht dieses Verhalten, da auf die statische Methode display() in der Unterklasse B ohne die Verwendung von super zugegriffen werden kann.
Diese Vererbung ergibt sich aus der Grundregel der Java-Vererbung, die besagt, dass a Die Unterklasse erbt alle öffentlichen, geschützten und (innerhalb desselben Pakets) paketprivaten Mitglieder ihrer Oberklasse. Der Unterschied liegt darin, wie statische und nicht statische Methoden mit neu definierten Methoden in Unterklassen interagieren.
Wenn eine Unterklasse eine neue nicht statische Methode mit derselben Signatur wie eine geerbte definiert, überschreibt sie die Methode der übergeordneten Klasse. Bei statischen Methoden wird jedoch durch die Definition einer neuen Methode in der Unterklasse nur die Methode der übergeordneten Klasse ausgeblendet. Dies liegt daran, dass statische Methoden an die Klasse selbst gebunden sind, während nicht statische Methoden mit Instanzen der Klasse verknüpft sind.
Daher bezieht sich die Erklärung des Buches hauptsächlich auf nicht statische Methoden, die die Zugänglichkeit entsprechend ihrer erben deklarierte Sichtbarkeit (öffentlich, geschützt oder paketprivat). Statische Methoden hingegen folgen der umfassenderen Vererbungsregel und stehen Unterklassen zur Verfügung, solange sie zugänglich sind.
Das obige ist der detaillierte Inhalt vonErben Java-Unterklassen statische Methoden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!