Diciamo che abbiamo una struttura di classi:
public interface IA { public void doA(); }
public class A implements IA { public void doA(){ System.out.println("A class doA");}
public class B extends A { public void doA(){ System.out.println("B class doA"); }
E ora in un main dichiaro questo:
//in a main
IA ia = new B();
ia.doA();
Sono corretto affermando che l'oggetto runtime di ia
è una classe B e ha ereditato tutti i metodi e gli attributi delle super-classi?
La stampa dall'interno dell'immaginario principale è B class doA
come il metodo doA
in B nasconderà gli stessi metodi nelle sue super classi?