Boa tarde!
Estou com uma pequena dúvida, simples, porém, pertinente.
Eu gostaria de saber se o Java não inicializa as variáveis locais (declaradas dentro de algum método ou como paramêtros do mesmo) ?
Observe esse código:
package exemplos;
public class TesteDeInicialzacao {
int atributo; // variável de instância
/** Construtor.
Testa a iniciaização automática feita pelo Java */
private TesteDeInicialzacao() {
System.out.prinln( atributo ); // Imprime o valor do campo inteiro 'atributo'
atributo+=2; // Faz uma operação com o campo 'atributo'
int local; //Criando uma variável com escopo local
System.out.println(local); // Imprime o valor da variável local
local+=2; // Faz uma operação com a variável local
} // Fim do construtor
public static void main(String[] args) {
new TesteDeInicialzacao(); //Executa o construtor
} // Fim do método main
} // Fim da classe
As linhas que executam ações sobre a variável de instância ‘atributo’ não apresentam anomalias, pois é impresso o
valor zero ( que é o default para inteiros) e a soma é feita normalmente. Mas as linhas que executam ações sobre a variável ‘local’ apresentam
erros de compilação.
Alguém saberia explicar isto ?