Orkut Gmail Agenda Docs Web mais »
Grupos visitados recentemente | Ajuda | Acessar
Página inicial dos Grupos do Google
Informações do grupo
Membros: 224
Idioma: Português (Brasil)
Categorias do grupo:
Ciência e tecnologia
Computadores
Mais informações sobre o grupo »
[JAVA Pegadinha] do dia 30/06/2008    

Blocos de inicialização: 

 

Qual a saída do código abaixo?

 

 

public class Initializers

{

      {

            System.out.print("1 ");

      }

     

      static

      {

            System.out.print("2 ");

      }

     

      public Initializers()

      {

            System.out.print("3 ");

      }

     

      public static void main(String[] args)

      {

            System.out.print("4 ");

            new Initializers();

            System.out.print("5 ");

           

      }

 

}

 

a) 1 2 3 4 5

b) 2 4 1 3 5

c) 4 2 1 3 5

d) 4 1 2 3 5

e) 4 3 2 1 5

f) 4 3 1 2 5 

 

--------------------

Resposta:

b) Os blocos sem identificadores são chamados blocos de inicialização. 

O bloco que inicia como static é iniciado assim q a classe é referenciada pela primeira vez. No nosso caso pela chamada do main pela VM.

Em seguida é executado o método main. 

O bloco que só tem as chaves é iniciado antes do construtor da classe. É possível que exista mais de um bloco desse, nesse caso eles são executados na ordem em que aparecem.

Em seguida é chamado o contrutor.

Finalmente o método main imprime 5.

 

Qualquer dúvida, postem aqui.     

Abraço

Breno 

Versão: 
As 3 mensagens mais recentes sobre essa página (6 total) - visualizar a discussão inteira
2 jul 2008 por Breno
Resposta da pegadinha do dia 30/06/2008

Click on http://groups.google.com/group/ti-de-minas/web/java-pegadinha-do-dia-30-06-2008
- or copy & paste it into your browser's address bar if that doesn't
work.
30 jun 2008 por rou...@gmail.com
letra C
30 jun 2008 por Rouver Monteiro
letra C
2008/6/30 Emanuel Vianna <emanuelvianna@gmail.com>:
3 mais mensagens »
Criar um grupo - Grupos do Google - Página inicial do Google - Termos de Uso - Política de Privacidade
©2009 Google