Основываясь на моей ссылке, примитивные типы имеют значения по умолчанию, а объекты - null. Я протестировал кусок кода.
public class Main {
public static void main(String[] args) {
int a;
System.out.println(a);
}
}
Строка System.out.println(a); будет ошибкой, указывающей на переменную a, которая говорит variable a might not have been initialized, тогда как в данной ссылке integer будет иметь 0 в качестве значения по умолчанию. Однако, с приведенным ниже кодом, он фактически распечатает 0.
public class Main {
static int a;
public static void main(String[] args) {
System.out.println(a);
}
}
Что может произойти с первым кодом? Изменена ли переменная экземпляра, отличная от локальных переменных?