Тимур Машнин

Объектно-ориентированное программирование на Java. Платформа Java SE


Скачать книгу

которые выбрасываются, когда в программах происходят определенные события, используя конструкцию «try-catch».

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

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

      Один и тот же метод может выбросить несколько исключений в зависимости от конкретных обстоятельств.

      Примитивы и объекты

      Теперь в качестве обобщения.

      В Java есть два общих типа данных: примитивы и объекты.

      Примитив – это тип данных Java, которые считаются простейшей формой данных.

      Данные этого типа хранятся непосредственно в памяти.

      Это данные типа int, char, double и boolean.

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

      Поэтому всякий раз, когда вы передаете переменную в качестве параметра или копируете ее, вы копируете значение этой переменной.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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