Imagem de fundo

Considerando que o código Java a seguir compila e executa...

Considerando que o código Java a seguir compila e executa sem erros e imprime "0.0":


1 public abstract class Compra {

2 private double valor;

3 public Compra(double valor) {

4 this.valor = valor; }

5 public double getValor() {

6 return this.valor; }

7 public static void main(String[] a) {

8 Compra c = new AVista(200, 10/100);

9 System.out.println(c.getValor()); }}

10 class AVista extends Compra {

11 private double desconto;

12 public AVista(double valor,

13 double desconto) { super(valor);

14 this.desconto = desconto; }

15 public double getValor() {

16 return 0;

17 }}



Que instrução deve substituir return 0; na linha 16 para que o programa imprima “180.0”?


A

return 180.0;


B

return this.valor - this.valor * desconto;


C

return super.getValor() * (1 - this.desconto);


D

return super.valor - super.valor * this.desconto;


E

return super.getValor() - super.getValor() * this.desconto;