Класс в Java описывает «шаблон» (поля + методы), а объект — конкретный экземпляр этого класса в памяти. Через объекты мы храним состояние и вызываем поведение: obj.field, obj.method(). Создание обычно делается через new, а данные задаются через поля или конструктор.
В этих уроках и заданиях (тренировка Java онлайн) разберём, как устроены классы, как создавать объекты и чем отличаются ссылки на объекты от примитивов.
- Модуль 1: Первая программа и структура
- Модуль 2: Переменные и типы данных
- Объявление и инициализация переменных.
- Примитивы: целые числа (int, long, byte, short).
- Примитивы: дробные числа (double, float).
- Примитивы: логический тип (boolean).
- Примитивы: символьный тип (char).
- String — основы работы со строками.
- Приведение типов (Casting): расширение и сужение.
- Область видимости переменных (Scope).
- Модуль 3: Операторы
- Модуль 4: Управляющие конструкции
- Модуль 5: Массивы и Строки (Advanced)
- Создание и заполнение массива.
- Доступ к элементам по индексу.
- Свойство length и перебор массива.
- Цикл for-each для массивов.
- Многомерные массивы.
- Методы String: length, charAt, isEmpty.
- Манипуляции: substring, concat, replace.
- Сравнение строк: equals vs ==.
- Разделение строк (split) и trim.
- StringBuilder (изменяемые строки).
- Модуль 6: Методы
- Модуль 7: Классы и Объекты (ООП Часть 1)
- Модуль 8: Капсуляция и Модификаторы
- Модуль 9: Наследование и Полиморфизм (ООП Часть 2)
- Модуль 10: Обработка исключений
- Модуль 11: Коллекции и Дженерики
- Модуль 12: Функциональный стиль (Java 8+)
- Модуль 13: Полезные стандарты
1. Собери минимальный класс и создание объекта
Из предложенных строк соберите минимальный корректный Java-класс с полем `price` и создание его объекта в методе `main`. Программа должна создавать объект класса `Product` и выводить значение его поля `price` в консоль. Некоторые строки являются лишними и не должны входить в итоговое решение.
public class Product { int price = 1500; public static void main(String[] args) { Product product = new Product(); System.out.println(product.price); Product p = new Product(); System.out.println(price); public void printPrice() { }}2. Заполни пропуски: new и доступ к членам
В этом задании вам предстоит дополнить фрагмент кода на Java, связанный с созданием объекта класса и доступом к его полям. Код демонстрирует базовые принципы ООП: объявление класса, создание экземпляра с помощью оператора new, инициализацию полей и вывод их значений. Заполните пропуски корректными синтаксическими элементами (например, ключевыми словами, операторами доступа), чтобы программа успешно компилировалась и выполнялась, выводя ожидаемый результат.
class Book {
String title;
int year;
}
public class Main {
public static void main(String[] args) {
Book myBook = input1S Book input2S;
myBook input3S title = "Java Fundamentals";
myBook input4S year = 2023;
System.out.println("Book: " + myBook.title + ", Year: " + myBook.year);
}
}3. Отметь выражения, которые создают объект
Перед вами фрагмент кода на языке Java. Внимательно изучите каждую строку и определите, какие выражения выполняют создание нового объекта с помощью оператора `new`. Отметьте кликом только те фрагменты кода, где происходит непосредственное создание объекта (инстанцирование). Не отмечайте объявления переменных, присваивания ссылок, вызовы методов или другие операции, которые не создают новый объект.
Рассмотрите следующий код:
4. Предсказать вывод: значения полей объекта
Проанализируйте приведённый код на Java, в котором создаётся объект класса Person без явной инициализации полей. Определите, какие значения будут выведены на экран при выполнении программы. Обратите внимание на значения по умолчанию для полей различных типов.
public class Person {
String name;
int age;
double height;
boolean isStudent;
public static void main(String[] args) {
Person p = new Person();
System.out.println("Name: " + p.name);
System.out.println("Age: " + p.age);
System.out.println("Height: " + p.height);
System.out.println("Is student: " + p.isStudent);
}
}5. Исправь ошибку обращения к нестатическому члену
В данном фрагменте кода Java допущена ошибка, связанная с обращением к нестатическому члену класса из статического контекста. В методе main, который является статическим, происходит попытка использовать нестатическое поле без создания объекта класса. Исправьте код, чтобы программа успешно компилировалась и выполнялась, создав объект класса и обратившись к полю через него.
public class Student { String name = "Алексей"; public static void main(String[] args) { System.out.println("Имя студента: " + name); }}6. Разложи элементы по категориям: класс vs объект
Перед вами список утверждений и фрагментов, связанных с основами объектно-ориентированного программирования в Java. Ваша задача — распределить каждый элемент по одной из трёх категорий: «Класс», «Объект» или «Ссылка/переменная-ссылка». Обратите внимание, что класс является шаблоном для создания объектов, объект — конкретным экземпляром в памяти, а ссылка — переменной, хранящей адрес объекта. Каждый элемент должен быть помещён только в одну категорию.
7. Разметь части: класс, поле, метод, объект
В этом задании представлен короткий фрагмент кода на Java. Разметьте выделенные части кода, выбрав для каждой подходящий тип из предложенных: имя класса, поле, метод, создание объекта или вызов метода. Это упражнение поможет закрепить понимание основных элементов объектно-ориентированного программирования, таких как структура класса и взаимодействие с объектами.
public class {{Car~|~t1}} {
String {{model~|~t2}};
void {{startEngine~|~t3}}() {
System.out.println(\"Engine started\");
}
public static void main(String[] args) {
Car myCar = {{new Car()~|~t4}};
{{myCar.startEngine()~|~t5}};
}
}