Новичок
13 уроков
Курс
Java для Android-разработчиков
Курс даст необходимую подготовку в языке Java для желающих изучать Android. В первой части мы начнём с нуля, рассмотрим основные возможности языка, с тем, чтобы после этого можно было смело приступать к Android. Для тех, кто в процессе работы поймет, что ему недостаточно знаний по Java, будет вторая часть курса, там мы углубимся в ООП, коснёмся теории алгоритмов и рассмотрим кое-какие продвинутые возможности Java

#5 — Объекты и классы в Java

Всем доброго времени суток! С вами курс «Java для Android-разработчиков» и сегодня мы поговорим об объектах и классах, вы узнаете, как создавать объекты, что такое примитивный тип.

Что такое класс и объект

Для начала представим две машины на дороге разных марок – «Мерседес» и «БМВ». По сути, они обе одно и то же – это машины. Если перевести все на язык Java, то машины будут классом, а те два экземпляра, которые мы видим на дороге, – объектами. Давайте рассмотрим, как это будет выглядеть на практике.

Пояснения к коду

Внутри класса мы объявляем поля (т.е. переменные) и методы. Еще у классов есть конструкторы. Конструктор – это метод, который ничего не возвращает, но внутри которого происходит инициализация объекта. В нашем примере имеются два конструктора – с параметрами и без. Бывает так, что имена параметров конструктора совпадают с именами полей класса. Чтобы их отличить, используется конструкция this. Давайте теперь попробуем использовать наш класс.

Пример работы с классом в Java

Пояснения к коду

В Java все классы, мы все время работаем внутри каждого класса. Создаем новую машину типа Car и создаем объект класса с помощью ключевого слова new. Теперь мы можем обращаться к его полям и применять методы к нему.

Примитивный и объектный тип переменных в Java

Далее перейдем к более тонкой теме. Автор подробно разбирает, как в памяти компьютера хранятся данные об объектах. Память – это очень длинный массив байтов, в котором как-то размещаются наши объекты. Когда мы завели еще одну переменную класса Car, мы не создали новую переменную, а просто указали еще одну ссылку на этот объект. То есть если вы поменяете значение поля year экземпляра someCar, то поменяется значение и в MyCar.

Создадим метод repairCar, который чинит машину, меняя год выпуска автомобиля. В методе демонстрируется отличие объектов от обычных переменных. Типы обычных переменных подсвечиваются оранжевым цветом и не являются объектами. Также в Java кроме примитивных типов есть еще для каждого из них объектные типы. Например, у целочисленного типа int есть объектный тип – Integer.

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

Рассмотрим такой момент. В конце тела метода repairCar цена автомобиля carPrice увеличивается на 1000. Здесь надо учитывать, что в качестве параметра метода передается объект myCarPrice, а это означает, что мы работаем с одним и тем же объектом. И в данном случае мы меняем не объект, а ссылку. В самом объекте myCarPrice ничего не изменится.

Домашнее задание

В качестве домашнего задания разберитесь, когда, где и что меняется в объектах приведенных примеров. А также попробуйте поменять метод repairCar так, чтобы после ремонта машины увеличивалась его цена.

И в конце поясним, что означает слово void. Оно говорит о том, что метод не возвращает ничего. Вот и все.

Надеемся, вам понравился этот урок. Ставьте лайки, задавайте вопросы. Оставайтесь с нами.

Приятного всем просмотра! Учитесь с удовольствием! Всегда ваш LoftBlog.

Материалы к уроку:
Делись:

Оставь комментарий!

Добавить комментарий

Рекомендуемые курсы