Разберем статические методы в Java. Ключевое слово static означает, что метод принадлежит самому классу, а не конкретному объекту (экземпляру). Это часто используется для создания утилитных функций, например, в классе Math.
Главная особенность: внутри статического метода нельзя использовать ключевое слово this или обращаться к обычным полям класса без создания объекта. Этот тренажер поможет закрепить синтаксис объявления, правила вызова (через имя класса) и ограничения статического контекста. Практические задания включают поиск ошибок и написание вызовов методов.
- Модуль 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. Для каждого выделенного фрагмента укажите, является ли он модификатором доступа, ключевым словом static, типом возвращаемого значения или именем метода. Это упражнение поможет закрепить понимание структуры объявления метода в Java.
{{public~|~t1}} {{static~|~t2}} {{int~|~t3}} {{calculateSum~|~t4}}(int a, int b)2. Статика vs Экземпляр
В этом задании вам нужно сопоставить характеристики методов в Java с их принадлежностью к статическим (static) или нестатическим (non-static) методам. В левой колонке приведены описания свойств и особенностей методов, а в правой — два возможных типа: Static и Non-static. Учтите, что каждый тип в правой колонке используется несколько раз, поэтому существует несколько правильных комбинаций сопоставления. Ваша задача — правильно определить, какие характеристики относятся к статическим методам, а какие — к методам экземпляра.
3. Вызов метода
В этом задании отрабатывается правильный вызов статического метода. В классе Calculator уже объявлен статический метод public static int sum(int a, int b), который возвращает сумму двух целых чисел. В методе main нужно вызвать этот метод, передав ему числа 7 и 8, и вывести полученный результат на экран. Заполните пропуск так, чтобы вызов статического метода был выполнен в правильном формате: ИмяКласса.имяМетода(аргументы). После заполнения программа должна корректно скомпилироваться и вывести число 15.
public class Main {
public static void main(String[] args) {
int result = input1S;
System.out.println(result);
}
}
class Calculator {
public static int sum(int a, int b) {
return a + b;
}
}4. Доступ к полю
В приведённом фрагменте java-кода допущена ошибка, связанная с доступом к полю класса из статического метода. Исправьте код, чтобы программа скомпилировалась и вывела имя на экран.
public class Person { String name = "Alice"; public static void main(String[] args) { System.out.println(name); }}5. Определение метода
В этом задании вам предстоит дополнить объявление метода main в классе Main, выбрав правильные ключевые слова из предложенного списка. Метод main является точкой входа в программу на Java, и его сигнатура должна строго соответствовать требованиям языка. Обратите внимание на порядок модификаторов и тип возвращаемого значения. Для заполнения пропусков используйте выпадающие списки, которые появляются при клике на каждый пропуск.
public class Main {
input1S input2S input3S main(String[] args) {
System.out.println("Hello, World!");
}
}6. Работа статического счетчика
Проанализируйте представленный код на Java, содержащий класс со статическим полем-счётчиком. Обратите внимание на то, как и где это поле изменяется. Определите, какое значение будет выведено на экран в результате выполнения программы. Выберите правильный вариант ответа из предложенных ниже.
public class Counter {
private static int count = 0;
public Counter() {
count++;
}
public static int getCount() {
return count;
}
public static void main(String[] args) {
Counter c1 = new Counter();
Counter c2 = new Counter();
Counter c3 = new Counter();
System.out.println(Counter.getCount());
}
}7. Порядок вызова
Перед вами строки java-кода, относящиеся к теме статических методов. Они перемешаны. Вам нужно восстановить правильный порядок строк, чтобы получилась корректная java-программа, которая компилируется и запускается. Программа должна содержать объявление класса, статический метод, метод main и вызов статического метода. Обратите внимание на логическую последовательность: класс должен быть объявлен, затем в нём определён статический метод, затем метод main, и внутри main должен быть вызов статического метода.
public class Example {} } } System.out.println("Hello from static method!"); public static void main(String[] args) { static void printMessage() { printMessage();