Существует три типа переменных:
- Переменные экземпляра : всегда инициализируются
- Статические переменные : всегда инициализируются
- Локальные переменные : должны быть инициализированы перед использованием
Значения по умолчанию для instance и статических переменных являютсяТо же самое и зависит от типа:
- Тип объекта (String, Integer, Boolean и другие): инициализируется с null
- Типы примитивов:
- byte, short, int, long: 0
- float, double: 0.0
- логическое: false
- char: '\ u0000'
Массив - это Объект .Таким образом, переменная экземпляра массива, которая объявлена, но не инициализирована явно, будет иметь значение null .Если вы объявите массив int [] в качестве переменной экземпляра, он будет иметь нулевое значение.
После создания массива всем его элементам присваивается значение типа по умолчанию.Например:
private boolean[] list; // default value is null
private Boolean[] list; // default value is null
после инициализации:
private boolean[] list = new boolean[10]; // all ten elements are assigned to false
private Boolean[] list = new Boolean[10]; // all ten elements are assigned to null (default Object/Boolean value)