Pessoal, poderiam me ajudar com uma dúvida?
Tenho um programa que estou informando dentro da classe um bloco entre chaves e este acredito que seja entendido como static e executado ao iniciar a classe, certo?
Acontece que dentro deste bloco há uma propriedade “var1” declarada sem tipagem e não ocorre erro, porém se mandar imprimir ela no System.out.println ocorre erro de compilação.
Poderiam me ajudar com esta dúvida sobre o porque ocorre isso?
public class Teste {
private int var1 = 10;
{
var1 = 20000;
//Sem erro de compilação
System.out.println(“passou no bloco” + var1 + "var2: ");
//Erro de compilação
System.out.println(“passou no bloco” + var1 + "var2: " + var2);
}
private int var2;
public static void main(String[] args) {
new Teste();
}
Teste(){
System.out.println(“Z”);
}
{
System.out.println(“passou no blocoA” + var2);
}
}