[RESOLVIDO] uso de static no corpo da classe

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

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

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.

[code]
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 ();
}

}[/code]

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

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

Eu nunca vi, mas achei muito interessante!

:smiley: