Imagem de fundo

Um desenvolvedor compilará e executará o programa Java...

Um desenvolvedor compilará e executará o programa Java apresentado.


class C1 {

void metodo() {

System.out.printin("C1");

}

}


class C2 extends C1 {

void metodo() {

super.metodo () ;

System.out.printin("C2");

}

}


class C3 {


void metodo() {

System.out.printin("C3");

}

void invocaMetodo(C1 c){

c.metodo() ;

}

}


class C4 extends C2{


void metodoDedicadoC4 () {

System.out.println("C4");

}

}


public class Principal {

public static void main (String Args[]) {

C3 c3 = new C3();

C1 c1 = new C1();

c3.invocaMetodo (c1);

c1 = new C2();

c3.invocaMetodo (c1);

c1 = new C4();

c1.metodo() ;

}

}


Qual será o resultado obtido?


A

O programa não compila.


B

O programa imprime as saídas “C1”, “C1”, “C2” e “C4”.


C

O programa imprime as saídas “C1”, “C3”, “C2”, “C1” e “C4”.


D

O programa imprime as saídas “C3”, “C1”,“C2” e “C4”.


E

O programa imprime as saídas “C1”, “C1”, “C2”, “C1” e “C2”.