Основы Java: базовый синтаксис, классы, объекты и методы
Java-программа — набор объектов, взаимодействующих через вызов методов. Основные понятия:
- Объект — имеет состояние (поля) и поведение (методы). Экземпляр класса.
- Класс — шаблон/чертеж, описывающий состояние и поведение объектов.
- Методы — поведение, логика, манипуляция данными.
- Поля экземпляра — уникальные для каждого объекта значения, формирующие его состояние.
Первая программа: Hello World
public class MyFirstJavaProgram {
/* Многострочный комментарий */
public static void main(String[] args) {
System.out.println("Hello World"); // Однострочный комментарий
}
}
Компиляция и запуск
- Сохраните как
MyFirstJavaProgram.java. javac MyFirstJavaProgram.java— компиляция.java MyFirstJavaProgram— запуск.- Вывод:
Hello World.
Базовый синтаксис
- Чувствительность к регистру:
Hello≠hello. - Имена классов: каждое слово с заглавной (
MyFirstJavaClass). - Имена методов: первая буква строчная, остальные слова с заглавной (
myMethodName()). - Имя файла должно совпадать с именем публичного класса +
.java. - Точка входа:
public static void main(String[] args)— обязательна.
Идентификаторы
Имена классов, переменных, методов. Правила:
- Начинаются с буквы,
$или_. - После первого символа — любые комбинации.
- Ключевые слова запрещены.
- Чувствительны к регистру.
- Допустимые:
age,$salary,_value,__1_value. - Недопустимые:
123abc,-salary.
Модификаторы
- Доступа: default, public, protected, private.
- Недоступа: final, abstract, strictfp.
Переменные
- Локальные
- Статические (поля класса)
- Поля экземпляра (нестатические)
Массивы
Объекты, хранящие множественные переменные одного типа. Сам массив — объект в куче.
Перечисления (Enums)
Введены в Java 5.0. Ограничивают переменную набором предопределённых значений.
class FreshJuice {
enum FreshJuiceSize { SMALL, MEDIUM, LARGE }
FreshJuiceSize size;
}
public class FreshJuiceTest {
public static void main(String[] args) {
FreshJuice juice = new FreshJuice();
juice.size = FreshJuice.FreshJuiceSize.MEDIUM;
System.out.println("Size: " + juice.size); // Size: MEDIUM
}
}
Ключевые слова
| abstract | assert | boolean | break |
| byte | case | catch | char |
| class | const | continue | default |
| do | double | else | enum |
| extends | final | finally | float |
| for | goto | if | implements |
| import | instanceof | int | interface |
| long | native | new | package |
| private | protected | public | return |
| short | static | strictfp | super |
| switch | synchronized | this | throw |
| throws | transient | try | void |
| volatile | while |
Комментарии
Однострочные // и многострочные /* ... */, игнорируются компилятором.
Пустые строки
Строки только с пробелами/комментариями игнорируются.
Наследование
Классы могут наследовать другие классы. Существующий класс — суперкласс, новый — подкласс. Позволяет переиспользовать поля и методы.
Интерфейсы
Контракт взаимодействия объектов. Определяют методы, реализация — в подклассе.
Следующая глава: объекты и классы подробнее.
java
- Ключевое слово final в Java: переменные, методы и классы
- Оператор instanceof в Java: полное руководство с примерами
- Статические вложенные классы в Java: использование, отличия и примеры
- Анонимные внутренние классы в Java: определение, синтаксис и практические примеры
- Паттерн Singleton в Java: как реализовать и безопасно использовать
- Рефлексия в Java: инспекция классов, методов и полей во время выполнения
- Освоение Java ObjectOutputStream: сериализация, методы и практические примеры
- Освоение Java Generics: создание переиспользуемого, типобезопасного кода
- Мастерство файловых операций в Java с java.io: создание, чтение, запись и удаление
- Базовый синтаксис C: токены, идентификаторы, ключевые слова и пробелы