У Java метод — це, по суті, блок коду, який можна багаторазово використовувати. Він виконується тоді, коли це потрібно.
Методи також часто називають функціями, і ці два терміни часто використовуються як взаємозамінні.
Значення використання методів або функцій
Розробники програмного забезпечення підходять до розв’язання складних завдань, розбиваючи їх на менші, більш прості для управління підзавдання. Цей принцип лежить в основі модульної архітектури. У рамках цього підходу програмний код структуровано у вигляді окремих, незалежних блоків, які можна переміщувати та виконувати окремо для досягнення загальної мети.
Методи є дуже корисними, оскільки їх можна використовувати в різних частинах програми. Уявіть, що вам потрібно створити функцію, яка видаляє зайві пробіли з тексту. Чи було б ефективно кожен раз писати цей код знову?
Звісно, набагато краще створити метод один раз, а потім використовувати його з різними вхідними даними в різних місцях вашого коду. Це не тільки зручніше, але й ефективніше.
Крім того, модифікатори доступу в Java дають вам змогу контролювати, які методи доступні для використання в інших частинах програми, а які — ні. Це допомагає зробити код більш читабельним, структурованим і організованим.
Типи методів у Java
У Java методи поділяються на два основні типи: методи, визначені користувачем, та вбудовані методи. Методи, визначені користувачем, як випливає з назви, створюються безпосередньо програмістом. Наприклад:
public int calculateSum(int x, int y) { return x + y; }
Вбудовані методи, навпаки, вже є частиною мови програмування Java. Наприклад:
String myString = "Привіт Світ"; myString.toLowerCase();
Тут метод toLowerCase
є вбудованим методом Java, який можна викликати у будь-якій частині коду.
Структура методу в Java
Розглянемо структуру методу в Java:
[модифікатор_доступу] [тип_повернення] назваМетоду(...параметри) { // тіло методу }
Усі ці елементи методу мають бути вказані саме в такому порядку. Наприклад, тип повернення не може бути визначений після назви методу. Розберемо детально кожен з цих елементів.
1. Модифікатор доступу
Модифікатори доступу — це ключові слова, що визначають область видимості методу, класу, змінної, тощо. В Java існують такі модифікатори доступу:
public
: метод доступний з будь-якого іншого класу.private
: метод доступний тільки в межах класу, де він визначений.за замовчуванням
(без вказання модифікатора): доступний у межах того ж пакета.protected
: доступний в межах того ж пакета, а також у підкласах (навіть якщо вони в іншому пакеті).
public int calculateSum(int x, int y) { return x + y; }
Тут метод calculateSum
має модифікатор доступу public
, отже, він буде доступним з будь-якої частини програми.
2. Тип повернення
Тип повернення визначає тип даних, який метод повертає після виконання. Якщо метод не повертає жодного значення, то використовується тип void
. У такому випадку ключове слово return
не використовується. Обов’язково потрібно вказати тип повернення при визначенні методу.
public void printMessage(String message) { System.out.println(message); }
У цьому прикладі метод printMessage
не повертає жодного значення, він просто виводить текст у консоль. Тому тип повернення void
.
3. Назва методу
Назва ідентифікує метод у класі і використовується для його виклику через об’єкт.
class Printer { void print(String text) { System.out.println(text); } } Printer p = new Printer(); p.print("привіт світ"); // виведе "привіт світ"
4. Параметри
Ви можете передавати аргументи у метод через параметри, визначені в його сигнатурі. Кількість та типи аргументів, що передаються при виклику, повинні відповідати визначеним параметрам. При цьому важливим є порядок передачі аргументів.
class Calculator { int sum(int x, int y) { return x + y; } } Calculator calc = new Calculator(); calc.sum(5, 12); // поверне 17
5. Тіло методу
Тіло методу — це блок коду, який містить інструкції для виконання певних дій і отримання результату. Він розташовується у фігурних дужках.
class Calculator { int sum(int x, int y) { return x + y; } }
Тут оператор return
у фігурних дужках є тілом методу sum
.
Виклик методів в Java
Викликати методи в Java доволі просто. Метод викликається за його іменем, використовуючи об’єкт класу, якому він належить.
Статичні методи можна викликати без створення екземпляра об’єкта класу. Нестатичні методи вимагають виклику через об’єкт класу.
Виклик статичного методу виглядає так:
class MathOperations { public static int sum(int x, int y) { return x + y; } } public class Main { public static void main(String[] args) { int additionResult = MathOperations.sum(8, 3); System.out.println(additionResult); } }
У цьому коді метод sum
у класі MathOperations
є статичним. Тому для його виклику не потрібно створювати об’єкт класу. Метод викликається напряму з класу.
З іншого боку, виклик нестатичного методу виглядає так:
class MathOperations { public int sum(int x, int y) { return x + y; } } public class Main { public static void main(String[] args) { int additionResult = new MathOperations().sum(8, 3); System.out.println(additionResult); } }
У цьому випадку спочатку створюється об’єкт класу MathOperations
, а потім викликається метод sum
. Це потрібно тому, що нестатичні методи не можуть бути викликані до створення екземпляра класу.
Ось як викликаються методи в Java.
Підсумок
Не тільки в Java, але й в будь-якій мові програмування, методи є чудовим інструментом для впорядкування коду та його багаторазового використання. Методи є основними елементами модульної та компонентної архітектури.
Якщо ви цікавитесь Java, рекомендуємо дізнатися більше про обробку винятків.