Erro Compilação - Tipagem

1 resposta
J

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);

}

}

1 Resposta

D

Bom corrijam-me se estiver errado

Nesse trecho do código:

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;

Você usa a variável var2 antes de você declara-la. Esse código funciona

private int var1 = 10; 
  private int var2;

  { 
    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); 
  }
Criado 20 de junho de 2008
Ultima resposta 20 de jun. de 2008
Respostas 1
Participantes 2