Recursos estranhos

4 respostas
D

Pessoal, estou estudando algum tempo para um concurso q acontecerá em setembro. Por este motivo fiz um simulado onde encontrei alguns recursos q nem sabia q a linguagem dispunha. :frowning:
Uma das questões apresentava um código (abaixo) e indagava sobre oq seria impresso. Alguém pode me explicar pq imprime CFBAED?

Muito obrigado galera! :wink:

class Auxiliar {

Auxiliar() {

System.out.println(“A”);

}
{
	System.out.println("B");
}
static{ System.out.println("C");}
}

class PassandoValores extends Auxiliar{

PassandoValores(){

System.out.println(D);

}

{

System.out.println(E);

}

static{

System.out.println(F);

}

public static void main(String args[]){

PassandoValores in = new PassandoValores();

}

}

4 Respostas

ViniGodoy

Ponha o código entre as tags code:

Código aqui

Senão fica difícil de ler.

D

Mil perdões galera, marinheiro de 1° viagem… :oops:

class Auxiliar {
	Auxiliar() {
		System.out.println("A");
	}

	{
		System.out.println("B");
	}
	static{ System.out.println("C");}
}
class PassandoValores extends Auxiliar{
	PassandoValores(){
		System.out.println("D");
	}
	{
		System.out.println("E");
	}
	static{
		System.out.println("F");
	}
	public static void main(String args[]){
		PassandoValores in = new PassandoValores();
	}
}
ViniGodoy

A inicialização funciona assim:

1. Primeiro são inicializadas variáveis estáticas diretas, como:
static int x = 10;
static int y = calcularY();

2. Depois são inicializados os blocos static, na ordem que aparecem:

static int List<String> umaLista;

static {
   umaLista = new ArrayList<String>();
   umaLista.add("A");
}

Tudo isso em cima só é executado uma única vez, assim que a classe é carregada na memória (normalmente, quando é criada a primeira instância)

3. Em seguida, são inicializadas as variáveis não estáticas:
public int a = 10;
4. Depois, os blocos de inicialização, delimitados por { }, na ordem em que aparecerem
{
   System.out.println("Olá!");
}

5. Finalmente, o construtor.

D

Muito Obrigado! Vejo q faltava era conhecer o funcionamento da liguagem.
Valeu Vini :smiley:

Criado 26 de abril de 2010
Ultima resposta 26 de abr. de 2010
Respostas 4
Participantes 2