Pegadinha override

5 respostas
M
public class Aa {	

      static void a() {
        System.out.println("a");
      }

      public Aa() {
          a();
      }

      public static void main(String args[]) {
  
           Aa a = new B();
           a.a();

      }
}

class B extends Aa {

   public B() {
      a();
   }


   static void a() {
        System.out.println("b");
   } 

}

5 Respostas

danieldestro

bb

M

nope

ricardolecheta

a b a

a -> construtor de Aa, pq sempre chama o construtor da classe mae antes
b -> pq o objeto em runtime é da classe B
a -> esta é uma chamada comum, normalmente imprimiria “b”, pois vale o objeto em runtime, mas como o método é static ele pertence a classe Aa

M

Muito bem!!

danieldestro

é o sono

eu nem vi o static

Criado 7 de novembro de 2003
Ultima resposta 7 de nov. de 2003
Respostas 5
Participantes 3