Объектно-ориентированное программирование на Java. Платформа Java SE. Тимур Машнин
Чтение книги онлайн.

Читать онлайн книгу Объектно-ориентированное программирование на Java. Платформа Java SE - Тимур Машнин страница 36

СКАЧАТЬ простые, мы можем выполнять с ними прямые математические операции, такие как сложение, вычитание, деление, и так далее.

      Теперь, что такое объект?

      Объектом является гораздо более сложный тип данных, потому что на самом деле это способ хранения нескольких фрагментов связанной информации и различных вещей, которые вы можете делать с этой информацией под одним типом данных.

      Такие вещи, как String, Array, Scanner и ArrayList считаются объектами.

      И все они начинаются с большой буквы в Java, чтобы обозначить их как объекты.

      Когда вы создаете новую переменную типа объект, например, для массива, компьютер выделяет область памяти для ссылки на то, где этот код на самом деле собирается хранить эти данные.

      Затем, когда вы передаете это значение в качестве параметра, вы передаете ссылку, а не фактические данные.

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

      Поэтому вам всегда нужно понимать, когда вы копируете ссылку на объект или сами данные объекта.

      Поскольку объекты сложнее примитивов, вы не можете выполнять такие вещи, как сложение и вычитание, как с простыми числами.

      Но, поскольку объекты имеют свое поведение, вам просто нужно взглянуть на методы объекта, чтобы узнать, что вы можете с этим объектом сделать.

      Например, если вы хотите узнать, сколько символов в строке, вы вызываете метод length.

      Каждый объект имеет свой собственный набор моделей поведения.

      И есть одна вещь, о которой нужно знать.

      Это специальное ключевое слово null.

      Null – это просто слово, которое означает отсутствие объекта.

      По сути, это значение 0 для объекта.

      Точно так же, как 0 – это значение 0 для int или 0.0 – это значение 0 для double.

      Null – это значение 0 для всех типов объектов.

      Предположим, мы создаем новый массив строк.

      Если мы создадим новый массив символов, мы знаем, что он хранит значения нулей по умолчанию.

      Но что он хранит в случае, когда мы создаем массив строк?

      Это Null.

      Это то, что автоматически заполняется в массив, что означает, объект может быть здесь, но его нет здесь и сейчас.

      Это важно знать, потому что вы можете столкнуться с очень распространенным типом исключения Null Pointer.

      Обычно это происходит, когда вы пытаетесь выполнить метод объекта, который является нулевым.

      Например, мы хотим получить длину строки, которая хранится в этом массиве.

      Там нет строки, поэтому мы получаем так называемое исключение Null Pointer.

      Вы не можете назвать длину того, чего не существует.

      Имейте в виду, что null означает объект, а не пустой объект.

      Например, вы можете вызвать метод length для пустой String.

      Это длина равна нулю.

      Но нет такой длины, как длина того, чего не существует.

      Просто СКАЧАТЬ