Explicación de la salida del fragmento de código Java requerida
Mi código es:
class Foo {
public int a=3;
public void addFive() {
a+=5;
System.out.print("f ");
}
}
class Bar extends Foo {
public int a=8;
public void addFive() {
this.a += 5;
System.out.print("b ");
}
}
public class TestClass {
public static void main(String[]args) {
Foo f = new Bar();
f.addFive();
System.out.println(f.a);
}
}
Salida:
b 3
Por favor, explícame, ¿por qué el resultado de esta pregunta es "b 3" y no "b 13" ya que el método ha sido anulado?