[RESOLVIDO] uso de static no corpo da classe

5 respostas
B

public class Criptografia {

private static MessageDigest md = null;

static {
    try {
        md = MessageDigest.getInstance("MD5");
    } catch (NoSuchAlgorithmException ex) {
        ex.printStackTrace();
    }
}

//demais métodos

}

alguém pode me explicar a função daquele static ali? peguei este trecho algum tempo atrás e não intendi a função dele. desde já eu agradeço

5 Respostas

kicolobo

Aquele bloco static será executado na primeira vez (e apenas na primeira vez) que a classe for carregada pela JVM.

V
O que o kicolobo disse esta correto. Para entender melhor faça uma teste, compile e execute a classe abaixo e tire suas próprias conclusões.
public class TestandoStatic {
	static {
		System.out.println ("Carregando a classe");
	}

	public TestandoStatic () {
		System.out.println ("Criando um objeto.");		
	}

	public static void main (String args[]){
		TestandoStatic a = new TestandoStatic ();
		TestandoStatic b = new TestandoStatic ();
		TestandoStatic c = new TestandoStatic ();
		TestandoStatic d = new TestandoStatic ();
		TestandoStatic e = new TestandoStatic ();
	}
}
B

bah, bastante simples mesmo!
valeu ae !!! :slight_smile:

E

Confesso que não conhecia esse uso do static…
É comum encontrar clocos static assim?

dionat4n

Eu nunca vi, mas achei muito interessante!

:smiley:

Criado 8 de junho de 2008
Ultima resposta 9 de jun. de 2008
Respostas 5
Participantes 5