ich diese Frage gegeben haben:Vererbung in Java hatte verwirrend Ausgang
public class A {
private void a() {
System.out.println("a");
}
public static void main(String[] args) {
A t = new B();
t.a();
}
}
class B extends A {
public void a() {
System.out.println("b");
}
}
Dieser druckt Ausgabe: a
Ich bin nicht sehr sicher über die Antwort. Ich weiß, dass wenn Sie ein untergeordnetes Objekt erstellen und es an die übergeordnete Referenz weitergeben. Es führt Funktionen überschrieben nur über A. Aber hier ist die Funktion privat, wie funktioniert das ???
Ich weiß, das ist nicht übergeordnet. Aber wie kommt es, dass die Ausgabe "a" druckt?
drucken Sie können eine 'private' Methode nicht überschreiben. –
'a()' ist eine private Funktion auf A und wird nicht vererbt. – SomeDude
private Methoden sind nicht vererbt –