Java: Введение в ООП
Теория: Статические методы
Одна из базовых конструкций в программировании - функция. С помощью функций мы выделяем повторяющиеся блоки кода и вводим новые операции, которые не заложены в язык. В большинстве языков функции создаются просто, для этого достаточно знать синтаксис определения. Ниже пример на JavaScript, который будет понятен даже без знания языка:
С Java все немного сложнее. Она не позволяет создавать обычные функции. Java требует наличия класса для определения функций, которые, в этом случае, называются методами. Для сравнения перепишем пример с JavaScript на Java:
Если вызов метода идет из того же класса, где он определен, то указывать имя класса перед ним не нужно:
Основная разница между функцией greeting() на JavaScript и методом greeting() на Java заключается в наличии класса в определении метода и его же указание при вызове из других классов. Возникает вопрос, зачем нужен класс когда можно просто создавать функции? Вообще так делать было не обязательно, но создатели Java решили по-другому. Например, в Kotlin, который тоже работает на виртуальной машине Java, нет такого ограничения, там можно создавать обычные функции.
Несмотря на наличие класса и смены названия на "метод", по сути, мы получили обычную функцию, которая определена в классе и вызывается через класс. Достигается это за счет ключевого слова static. Без него методы работают совсем по-другому, о чем мы поговорим в следующих уроках. Методы, определенные как static, называют статическими.
Еще немного примеров статических методов из реальной жизни:
Теоретически мы могли бы писать код только в таком стиле, пользуясь одними статическими методами. Этого достаточно для решения любых задач, правда код получится не очень, так как Java все же рассчитана на другой стиль работы.


