Основываясь на моей ссылке, примитивные типы имеют значения по умолчанию, а объекты - 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);
}
}
Что может произойти с первым кодом? Изменена ли переменная экземпляра, отличная от локальных переменных?