Para responder à questão, considere a seguinte definições em linguagem Java:
public class M { int x; M(int x) {this.x=x;} int h (int
x) { return x * this.x; } }
public class B extends M { B(int x) {super(x);} int
h (int x) { return x * this.x; } }
public class P extends M { P(int x) {super(x);} int
h () { return this.x * 10; } }
x) { return x * this.x; } }
public class B extends M { B(int x) {super(x);} int
h (int x) { return x * this.x; } }
public class P extends M { P(int x) {super(x);} int
h () { return this.x * 10; } }
O valor 250 é obtido pela execução da seguinte instrução: