Ответ 1
Он инициализируется значением null, если вы ничего не делаете, как и все ссылочные типы.
Рассмотрим строковое поле Java с именем x
.
Каким будет начальное значение x
, когда объект создается для класса x;
Я знаю, что для переменных int
значение по умолчанию назначается как 0
, поскольку экземпляры создаются. Но что происходит с String
?
Он инициализируется значением null, если вы ничего не делаете, как и все ссылочные типы.
Это зависит. Это просто переменная (в методе)? Или член класса?
Если это просто переменная, вы получите сообщение об ошибке, которое не было установлено при попытке прочитать из нее, не указав при этом значение.
Если это член класса, он будет инициализирован нулевым VM.
Ответ - это зависит.
Является ли переменная переменной экземпляра/класса? Подробнее см. .
Список значений по умолчанию можно найти здесь.
Любой объект, если он инициализирован, его значение defeault равно null, пока мы явно не предоставим значение по умолчанию.
Существует три типа переменных:
Значения по умолчанию для экземпляров и статических переменных совпадают и зависят от типа:
Массив - это объект. Таким образом, переменная экземпляра массива, объявленная, но явно не инициализированная, будет иметь значение 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)