Подтвердить что ты не робот

Что такое начальное значение по умолчанию для String Java?

Рассмотрим строковое поле Java с именем x. Каким будет начальное значение x, когда объект создается для класса x;

Я знаю, что для переменных int значение по умолчанию назначается как 0, поскольку экземпляры создаются. Но что происходит с String?

4b9b3361

Ответ 1

Он инициализируется значением null, если вы ничего не делаете, как и все ссылочные типы.

Ответ 2

Это зависит. Это просто переменная (в методе)? Или член класса?

Если это просто переменная, вы получите сообщение об ошибке, которое не было установлено при попытке прочитать из нее, не указав при этом значение.

Если это член класса, он будет инициализирован нулевым VM.

Ответ 3

Ответ - это зависит.

Является ли переменная переменной экземпляра/класса? Подробнее см. .

Список значений по умолчанию можно найти здесь.

Ответ 4

Любой объект, если он инициализирован, его значение defeault равно null, пока мы явно не предоставим значение по умолчанию.

Ответ 5

Существует три типа переменных:

  • Переменные экземпляра: всегда инициализируются
  • Статические переменные: всегда инициализируются
  • Локальные переменные: должны быть инициализированы перед использованием

Значения по умолчанию для экземпляров и статических переменных совпадают и зависят от типа:

  • Тип объекта (String, Integer, Boolean и другие): инициализируется с помощью null
  • Примитивные типы:
    • byte, short, int, long: 0
    • float, double: 0.0
    • boolean: 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)