Class class = null; Что это значит?

196
21 января 2018, 04:15

Столкнулся в примере с такой записью. Что она значит и для чего ее используют?

В вики нашел, что:

Целью Null-object является инкапсулирование отсутствия объекта путём замещения его другим объектом, который ничего не делает.

Данный шаблон проектирования рекомендуется использовать, когда:

  1. Объект требует взаимодействия с другими объектами. Null Object не устанавливает нового взаимодействия — он использует уже установленное взаимодействие.
  2. Требуется абстрагирование «общения» с объектами, имеющими NULL-значение.
  3. Какие-то из взаимодействующих объектов должны бездействовать. Требуется абстрагирование «общения» с объектами, имеющими NULL-значение.

Что означают второй и третий пункты и где используются?

Answer 1

В общем случае паттерн из вики на который вы ссылаетесь и ваш кусок кода ничего общего не имеют.

Class class = null;

это просто экземпляр класса которому присвоено null (отсутствующее) значение. Это значит что ссылка не указывает ни на какой объект. Попытка вызвать методы объекты приведёт к исключению.

А паттерн как раз создан для того чтобы такие значения исключать. При взаимодействии с NullObject не будет исключения. Это позволяет писать более явный и чистый код без дополнительных проверок объектов на null-значения перед использованием.

READ ALSO
Установка кодировки в java коде

Установка кодировки в java коде

Имеется код который выполняет поиск строк в файле:

325
Передачи видео с экрана android по сети

Передачи видео с экрана android по сети

Есть сервис который пишет видео с экранаТребуется в реальном времени передавать поток этого видео на другой девайс и сразу же его воспроизводить...

280
MVC Контроллер для передачи response json

MVC Контроллер для передачи response json

Как известно, модель MVC подразумевает наличие контроллера для передачи данных на фронтУ меня есть страница jsp, в которую я хочу вставить script...

202