Valores Padrão e Inicialização em Java

Baseado no meureferênciaos tipos primitivos possuem valores padrão e os objetos são nulos. Eu testei um pedaço de código.

public class Main {
    public static void main(String[] args) {
        int a;
        System.out.println(a);
    }
}

A linhaSystem.out.println(a); será um erro apontando para a variávela isso dizvariable a might not have been initialized enquanto que na referência dada,integer terá0 como um valor padrão. No entanto, com o código abaixo, ele irá imprimir0.

public class Main {
    static int a;
    public static void main(String[] args) {
        System.out.println(a);
    }
}

O que poderia dar errado com o primeiro código? Faz classeinstância variável se comporta diferente das variáveis ​​locais?

questionAnswers(8)

yourAnswerToTheQuestion