class BaseClass {
private void f() {
System.out.println("Baseclass f()");
}
public static void main(String[] args) {
BaseClass dc = new DerivedClass();
dc.f();
}
}
class DerivedClass extends BaseClass {
public void f() {
System.out.println("DerivedClass f()");
}
}
À mon avis, le courant continu objet fait référence à un seul devrait avoir méthode non-dérogation - méthode public void f(), qui en font (la méthode publique) invisible refered à BaseClass avec reference.Since la object dc referes to n'a pas la méthode privée f(), car DeriverClass ne peut pas hériter de la méthode private, comment l'objet dc peut-il se référer à call méthode f()?Java: Pourquoi la méthode de classe de base peut-elle appeler une méthode inexistante?
merci.
Pourquoi diable déclarez-vous une variable d'une classe dérivée dans une méthode d'une classe de base? o 0 – Amber
Je trouve ce genre de code dans Thinking in Java. Je pense que c'est un exemple valable pour creuser dans le cœur du langage de programmation Java. – Jichao
Vous parlez de 'public void f()'. Cela ne se produit dans aucune des classes. Est-ce une méthode fictive? A quelle classe appartiendrait-il alors? – BalusC