segunda-feira, 2 de agosto de 2010

Questão 6 - Herança

class Alpha { int over = 1; }
class Beta extends Alpha { int over = 2; }
class Gamma extends Beta {
  int over = 3;
  public stativ void main(String[] args) {
    new Gamma().go();
  }


  void go() {
   Beta b = new Gamma();
   Alpha a = new Gamma();
   System.out.println(super.over + " " b.over + " " + a.over);
  }
}


Qual o resultado?
   A. 2 2 1
   B. 3 2 1
   C. 2 3 3 
   D. 3 3 3
   E. Não compila


Segue a dica, sempre usar como referência o tipo e não a instância. Super, refere-se a classe pai, neste caso, Beta é super de Gamma. b é do tipo Beta e a é do tipo Alpha, assim o resultado certo é Beta, Beta e Alpha (2 2 1), letra A.

Nenhum comentário:

Postar um comentário