Die Mitglieder werden nicht vererbt, die in einer Kind-Klasse?
Ich versuche, die folgende Frage zu beantworten:
Einer untergeordneten Klasse nicht Erben bestimmte Mitglieder der übergeordneten Klasse. Nennen Sie drei
solche Mitglieder.
Ich wissen private member werden nicht vererbt Kind-Klassen und Standard-Mitglieder sind, nicht vererbt werden außerhalb des Pakets. Kann jemand die komplette Antwort?
Bearbeitet werden:-
Ich glaube, dass statische Elemente werden vererbt nach unten demonstration
public class sup {
public static void main(String agr[]){
}
protected static int staticInt=0;
protected final int finalInt=3;
protected int protectedInt=0;
public String publicString = "";
private int privateInt=8;
}
class sub extends sup{
public void del(){
staticInt=1;
staticInt=finalInt;
}
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Keine-Antwort zu ein Fall für Bedingungen Verwendung.
Mitglieder, die sichtbar in der Kind-Klasse ist weiter oben geantwortet. Mitglieder werden beide Felder und Methoden (jeweils mit einem eigenen namespace).
Vererbung als Teil der Kind-Instanz, ist eine andere Frage: auch den unsichtbaren private Mitglieder sind "geerbt" als solche. Statische Mitglieder sind Teil der class-Instanz und werden nicht vererbt (kann nicht überschrieben werden, auch). Alle letzten - Methoden können nicht überschrieben werden.
Streiten Konstruktoren werden nicht vererbt; Sie haben zu definieren, die die gleiche Signatur wieder in eine neue Kind-Konstruktor.
Anderen Deklarationen in einer Klasse könnte Klassendefinitionen. Gibt es das Schlüsselwort
static
hat eine andere Bedeutung, und man kann machen, offensichtliche Aussagen auf Sichtbarkeit/Vererbung. Zum Beispiel mit Bezug auf nicht-statische innere Klassen, die eine<outer-class>.this
(rekursive Begriff).vom JLS für Schüler
von Oracle Java-Dokumentation für Vererbung :
So, ich glaube, du bist fehlenden Konstruktoren hier .
Statische Methoden und Felder nicht vererbt werden kann, wenn Sie neu geschrieben werden, die in den Unterklassen, Sie einfach die Wiederverwendung der Signatur und
hide
die Implementierung der Methode/Feld in der übergeordneten Klasse.Für die Vererbung von statischen Feldern und Methoden, finden Sie auf dieser Diskussion als steted von Duncan, und diese tolle Anleitung Überschreiben vs Ausblenden
Konstruktoren und statische Initialisierungen und Instanz-Initialisierungen.
kann man nicht Erben, die ein eigenes Feld,und der Konstruktor.
Sie können nicht Erben einen Konstruktor, weil Sie nicht Mitglied der super-Klasse. Sie können sich auf eine super-Konstruktor der Klasse form die sub-Klasse. und Sie können auch den Zugriff auf einen privaten member der super-Klasse zugegriffen werden kann, durch öffentliche oder geschützte Methode von super-Klassen.