Ma se io ho:
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()
  }
}
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)

Ho risolto modificando a senza ricrearlo in B.