Duvida sobre um questão para o SCJP

3 respostas
S

Galera … estou com uma dúvida sobre uma questão de um simulado que estou fazendo para me preparar para o certificado scjp

public class Teste {
	public static void main(String args[]) {
		B.C obj = new B().new C();
	}
}

class A {
	char c;

	A(char c) {
		this.c = c;
	}
}

class B extends A {
	char c = 'a';

	B() {
		super('b');
	}

	class C extends A {
		char c = 'c';

		C() {
			super('d');
			System.out.println(B.this.c);
			System.out.println(C.this.c);
			System.out.println(super.c);
		}
	}
}

Não estou conseguindo entender porque o resultado final é A C D

3 Respostas

MaiqueL
Olá soublade,


            Seguinte você tem que entender como funciona os aspectos básicos dos construtores, pressupondo que você entenda os aspectos básicos,

a charada ai é o seguinte como C é uma classe interna ela precisa da instância da classe B pra poder ser executada, ou seja a classe B é executada primeiro que a classe C então o

parâmetro que é passado por último é ‘d’;

por isso a saída ACD.

Obs.: esta questão envolve conceito de classes internas se nunca ouviu falar leia sobre o assunto.

Maiquel -

D

Soublade de onde veio esta questão de algum simulado??

rodrigo.bossini

Verdade, onde vc viu essa questão?

Criado 27 de fevereiro de 2009
Ultima resposta 28 de fev. de 2009
Respostas 3
Participantes 4