1. Синтаксис языка, структура кода, классы и создание объектов
Синтаксис языка, структура кода, классы и создание объектов
Добро пожаловать в курс Java Core: Фундаментальный курс. Мы начинаем наше путешествие с самых основ. Java — это не просто набор команд, это строгая, логичная и мощная экосистема, построенная на принципах объектно-ориентированного программирования (ООП).
В этой статье мы разберем анатомию Java-приложения, поймем, чем класс отличается от объекта, и напишем наш первый работающий код.
Анатомия Java-программы
Любая программа на Java — это набор взаимодействующих друг с другом классов. Даже самая простая программа, которая просто выводит текст на экран, обязана находиться внутри класса.
Рассмотрим классический пример:
Разберем этот код по кирпичикам, чтобы понять структуру.
1. Объявление класса
Строкаpublic class HelloWorld объявляет новый класс.* public — модификатор доступа. Он говорит о том, что этот класс виден всем.
* class — ключевое слово, означающее, что мы создаем именно класс.
* HelloWorld — имя класса. В Java принято называть классы в стиле PascalCase (каждое слово с большой буквы, без пробелов).
Важное правило: Если класс объявлен как public, то имя файла обязано совпадать с именем класса. То есть этот код должен находиться в файле HelloWorld.java.
2. Точка входа (Метод main)
Внутри фигурных скобок{ ... } находится тело класса. Самое важное здесь — метод main.public static void main(String[] args)
Это точка входа в программу. Когда вы запускаете приложение, виртуальная машина Java (JVM) ищет именно этот метод, чтобы начать выполнение инструкций.
* public — метод доступен извне (чтобы JVM могла его вызвать).
* static — метод принадлежит самому классу, а не конкретному объекту (об этом мы поговорим чуть позже).
* void — метод ничего не возвращает (не выдает результат вычислений наружу).
* String[] args — массив строк, через который в программу можно передать параметры при запуске.
3. Тело метода и команды
System.out.println("Hello, Java!");Это команда вывода текста в консоль. Обратите внимание на точку с запятой ; в конце. В Java каждая команда (инструкция) должна заканчиваться точкой с запятой. Это сигнал компилятору, что мысль закончена.
Основы синтаксиса и оформление кода
Java — язык со строгой типизацией и чувствительностью к регистру. Это значит, что Main и main — это два совершенно разных слова.
Блоки кода
Код в Java структурируется с помощью фигурных скобок{ и }. Они определяют границы классов, методов и циклов. Все, что открыто, должно быть закрыто.Комментарии
Хороший код должен быть понятен, но иногда нужны пояснения. Компилятор игнорирует комментарии, они нужны только людям.Философия ООП: Классы и Объекты
Java — это объектно-ориентированный язык. Чтобы понять Java, нужно научиться мыслить объектами. Но что это значит?
Представьте, что вы архитектор. Прежде чем построить дом, вы рисуете чертеж. На чертеже указано, где будут стены, окна, какой будет планировка. Чертеж — это схема, идея дома.
По этому одному чертежу можно построить один дом, пять домов или целый квартал. Дома могут отличаться цветом стен или жильцами, но структура у них одна, заданная чертежом.
!Визуализация концепции: Класс как чертеж и Объекты как реализация этого чертежа.
Класс (Class)
Класс — это тот самый чертеж (шаблон). Он описывает:Объект (Object)
Объект — это конкретный экземпляр класса, созданный в памяти компьютера по этому шаблону. У него есть конкретные значения полей.Создание собственного класса
Давайте отойдем от абстрактных примеров и создадим класс Cat (Кот).
Здесь мы определили, что любой кот в нашей программе будет иметь имя (name), возраст (age) и цвет (color). И любой кот будет уметь мяукать (meow).
Типы данных (краткий обзор)
В примере выше мы использовали типы данных: *String — для текста (строк).
* int — для целых чисел.Создание объектов
Сам по себе класс Cat — это просто описание. Кота еще не существует. Чтобы «родить» кота, нам нужно создать объект. Это делается с помощью ключевого слова new.
Вернемся в наш метод main (или создадим новый класс для запуска) и создадим котов.
Разбор процесса создания
Фраза Cat barsik = new Cat(); делает три важные вещи:
Cat barsik — мы объявляем переменную barsik, которая может хранить ссылку на объект типа Cat.new — ключевое слово, которое выделяет память в компьютере (в области, называемой Heap или «Куча») под новый объект.Cat() — вызов конструктора (особого метода для инициализации объекта). По умолчанию он пустой.В результате переменная barsik становится своего рода «пультом управления», который связан с конкретным котом в памяти.
Структурирование кода и пакеты
Когда классов становится много (сотни и тысячи), держать их в одной папке невозможно. Для организации кода в Java используются пакеты (packages).
Пакет — это, по сути, папка на диске. В начале файла указывается, в каком пакете лежит класс.
Имена пакетов принято писать маленькими буквами, используя обратное доменное имя компании (например, com.google.search), чтобы избежать конфликтов имен с библиотеками других разработчиков.
Чистый код: Naming Conventions
Чтобы ваш код был читаемым и профессиональным, нужно соблюдать соглашения об именовании (Code Conventions). В Java они строгие:
PascalCase. Первая буква заглавная, каждое следующее слово тоже с большой буквы. Пример: MySuperCat, String, System.camelCase. Первая буква маленькая, каждое следующее слово с большой. Пример: myAge, calculateTotalSum(), meow.UPPER_SNAKE_CASE. Все буквы большие, слова разделены подчеркиванием. Пример: MAX_COUNT, PI.> Код пишется для людей, а не для машин. Машина поймет и плохой код, а вот ваш коллега (или вы сами через месяц) — нет.
Резюме
Сегодня мы заложили фундамент:
* Узнали, что программа начинается с метода main.
* Поняли разницу: Класс — это чертеж, Объект — это дом, построенный по чертежу.
* Научились создавать объекты через new.
* Познакомились с правилами именования переменных и классов.
В следующей статье мы углубимся в типы данных, узнаем, чем примитивы отличаются от ссылочных типов, и научимся работать с памятью эффективнее.