[Resolvido] Para que isso serve?

3 respostas
S

Olá,

Estou cursando o 4º período da Faculdade de Sistemas de Informação. Mas ainda há algumas coisas que não foram expostas para mim ainda na facul, e eu andei vendo alguns códigos na web e achei uma coisa que achei interessante e que não sei para que serve.

public class Exemplo {

    {
        //Para que serve isso?
    }

    static {
        //E isso?      
    }

     public static void main(String[]args){
          new Exemplo();
     }

    public Exemplo () {
        //codigo, bla bla bla
    }

}

Alguém sabe me informar? -

3 Respostas

romarcio

Bloco de instancia e estático, veja mais aqui: http://wp.me/p1iE6J-N

matheuslmota

Um bloco de instância é chamado toda vez que uma nova instância de uma classe é criada. Um bloco estático é chamado apenas uma vez, quando o classLoader da classe em questão é carregado pela primeira vez.

Veja a seguinte classe:

public class TesteComBlocos{ static{ System.out.println("Bloco estático chamado"); } { System.out.println("Bloco de instância chamado"); } public static void main(String[] args) { TesteComBlocos A, B; A = new TesteComBlocos(); B = new TesteComblocos(); } }

Isso imprime:

Bloco estático chamado
Bloco de instância chamado
Bloco de instância chamado

O bloco de inicialização (ou bloco de instância) é executado antes do construtor da classe e o bloco estático é executado antes de qualquer bloco de inicialização.

S

Entendi :slight_smile:

Muito obrigado!

Criado 14 de agosto de 2011
Ultima resposta 14 de ago. de 2011
Respostas 3
Participantes 3