Основы программирования с Java Машнин Тимур
Он представляет строку символов или последовательность символов.
Мы будем использовать много строк в программах Java, и я буду говорить детально о строках позже.
Это объявление также инициализирует владельца как символьную строку "NoName" с NoName, заключенным в паре двойных кавычек. Обратите внимание, что оба объявления начинаются с ключевого слова private.
private является модификатором доступа.
Я вернусь к этому позже.
После объявление переменных экземпляра следует определение конструкторов.
Конструкторы используются для создания новых объектов в классе.
Здесь определены два конструктора.
Первый без параметров внутри пары скобок.
В то время как 2-й конструктор имеет один параметр с типом String.
В принципе, все, что 2-й конструктор делает, это присваивает переменной владельца экземпляра новое имя, данное параметром, в то время как 1-й конструктор будет оставлять имя по умолчанию "NoName" без изменений.
Остальная часть программы является определением методов.
Методы моделируют определенное поведение автомобиля.
Здесь определяются три метода.
Первый метод moveCar перемещает автомобиль на определенное расстояние, и расстояние указано здесь параметром dist целого типа.
Обратите внимание, комментарий говорит, что метод moveCar может двигать автомобиль вперед или назад.
Значение dist будет положительным, если автомобиль двигается вперед, и отрицательным, если автомобиль двигается назад.
Так как автомобиль переехал на некоторое расстояние, показания одометра должны быть обновлены путем добавления пройденного расстояния.
Но тут нельзя просто добавить значение dist.
Подумайте о том, что произойдет, если автомобиль движется назад или расстояние отрицательно?
Добавление отрицательного значения в одометр уменьшит показания одометра.
Но вы знаете, отмотка одометра транспортного средства, является незаконной.
Таким образом, вместо того чтобы просто добавить расстояние, расстояние должно быть заменено абсолютной величиной dist, так что общее пройденное расстояние будет увеличено независимо от того, перемещается автомобиль вперед или назад.
Можно вычислить абсолютное значение с помощью метода abs библиотеки Math.
Метод затем просто печатает сообщение о действии, которое метод, как предполагается, выполняет.
Следующий метод turnCar будет осуществлять действие поворота автомобиля, и угол поворота задается в виде параметра angle, но в этом случае типа double.
Опять же, этот метод просто печатает сообщение, без фактической реализации поворота.
Последний метод getOdometer используется для получения показаний одометра.
Заметьте, что метод getOdometer возвращает тип int и выражение начинается с ключевого слова return внутри метода.
Я буду обсуждать метод, который возвращает значение, детально позже.
Программа заканчивается закрывающей фигурной скобкой.
Теперь давайте вернемся к среде IntelliJ IDEA, чтобы увидеть, как этот класс автомобилей работает.
Демонстрация примера
Давайте откроем IntelliJ IDEA.
Вы можете создать новый проект, выбрав "Create New Project".
Выберем создание Java проекта.
Вы можете выбрать место, где вы хотите сохранить ваш проект, а затем дать ему имя.
Давайте просто назовем проект «Cars».
И нажмем кнопку "Finish".
Появится окно нового проекта, который не содержит пока никакого кода.
Мы можем начать писать нашу программу, создав новый класс, так как все программы Java это классы.
После нажатия "New Java Class", появится диалоговое окно.
И вы должны ввести имя класса, который вы создаете.
В нашем случае, Car является именем класса, с которым мы хотим работать.
Вы увидите значок Car, созданный в окне проекта.
Дважды щелкните по нему, и класс откроется в окне редактора.
Вы можете увидеть, что здесь для вас уже создан шаблон, который начинается с документации, а затем идет заголовок класса, вместе с телом определения класса, заключенным в фигурные скобки.
Это на самом деле уже готовый класс, который может быть скомпилирован без ошибок, хотя он не может делать ничего полезного.
Я вернусь к этому шаблону, чтобы обсудить общую структуру программ Java.
На данный момент, давайте просто заменим тело определения класса примером автомобиля, что мы только что обсуждали.