Ma se io ho:
Il valore che dovrebbe stampare dovrebbe essere 4 perché ad a è applicato l'override ed ereditanto il metodo stampa non dovrebbe chiamare a overriddato, però richiama quello in A come mai? (mi sa perché l'override funziona solo sui metodi)codice:class A { private int a=3; private void stampa() { System.out.println(a); } } class B extends A { private int a=4; public static void main(String[] args) { (new B()).stampa() } }
Ho risolto modificando a senza ricrearlo in B.

Rispondi quotando