Olá pessoal estou com uma dúvida referente ao seguinte codigo:
public class Tarsier {
static String s = "-";
public static void main(String[] args) {
//new Tarsier().go(); <--- linha 6
go(); //<--- linha 7
System.out.println(s);
}
{
System.out.println("bloco nao estático");
go();
}
static{
System.out.println("bloco estático");
go();
}
static void go() {
s += "s";
}
}
O código assim NÃO executa o bloco não estático, mas se eu comentar a linha 7 e descomentar a linha 6, chamando go() atraves de uma instância da classe, o bloco não estático e executado, não entendi o por quê ?
Obrigado.