[Explained] Як викликати метод у Java

Метод у Java — це не що інше, як повторно використовуваний фрагмент коду, який можна виконати на вимогу.

Методи часто називають функціями, і ви помітите, що обидва слова використовуються як синоніми.

Важливість використання методів або функцій

Розробники програмного забезпечення вирішують проблему, розбиваючи її на менші проблеми та вирішуючи їх, щоб вирішити проблему в цілому. Ця ідея призвела до так званої модульної архітектури. У такому підході розробники розбивають код на частини, які можна переміщати та виконувати для вирішення більшої проблеми.

Методи мають перевагу, оскільки їх можна використовувати в різних екземплярах усієї програми. Припустімо, ви хочете створити допоміжний метод для видалення всіх непотрібних пробілів із речення. Чи буде сенс писати логіку кожного разу, коли вона вам потрібна, десь у вашій програмі?

Або має сенс створити метод один раз, а потім використовувати той самий метод з різними входами в кількох місцях вашої програми? Останній, очевидно, кращий і ефективніший.

Мало того, за допомогою модифікаторів доступу в Java ви навіть можете контролювати, які методи фактично доступні для спільного використання в програмі, а які ні. Це також допомагає зробити ваш код більш читабельним, організованим і структурованим.

Типи методів в Java

У Java є два типи методів: визначені користувачем і попередньо визначені методи. Визначені користувачем методи, як випливає з назви, явно визначаються програмістом. Прикладом визначеного користувачем методу може бути:

public int sum(int a, int b) {
    return a + b;
}

З іншого боку, попередньо визначені або вбудовані методи вже існують як частина мови програмування Java. Прикладом вбудованого методу може бути:

String text = "Hello World";
text.toLowerCase();

Тут toLowerCase — це вбудований метод Java, який можна викликати з будь-якої точки коду.

Структура методу в Java

Давайте подивимося на ідеальну структуру методу в Java:

[access_modifier] [return_type] method_name(...parameters) {
    // method body
}

Ці компоненти методу мають бути вказані по порядку. Наприклад, метод не можна визначити перед типом, що повертається, і так само. Давайте дізнаємося про функції кожного з цих компонентів, що утворюють метод, і про те, як вони працюють разом.

#1. Модифікатор доступу

У Java модифікатори доступу — це ключові слова, які визначають видимість методу, класу, інтерфейсу, змінної тощо. Технічно в Java існує п’ять модифікаторів доступу:

  • публічний: доступний для всіх класів
  • private: доступний лише для класу, до якого він належить
  • за замовчуванням: модифікатор доступу за замовчуванням подібний до модифікатора protected, у якому метод доступний лише всередині того самого пакета
  • захищений: доступний у підкласах або окремому пакеті
public int sum(a int, b int) {
    return a + b;
}

Тут метод calc має модифікатор доступу як public, тому він буде доступний звідусіль.

#2. Тип повернення

Тип повернення функції визначає тип даних, які повертає функція. Якщо ви не хочете нічого повертати з функції, у такому випадку вкажіть тип повернення void. Ключове слово return не можна використовувати, якщо вказано тип void. Вказівка ​​типу повернення є обов’язковою для визначення функції.

public void log(String text) {
    System.out.println(text);
}

Наведений вище метод нічого не повертає; це просто друк тексту на консоль. Таким чином, тип повернення void.

#3. Назва методу

Він ідентифікує метод у класі та використовується для виклику методу з об’єкта.

class Print {
    void log(String text) {
        System.out.println(text);
    }
}

Print p = new Print();
p.log("hello world"); // outputs "hello world"

#4. Параметри

Ви можете передавати аргументи методам відповідно до параметрів, визначених у ньому. Наприклад, якщо для методу визначено два параметри, ви можете передати лише два аргументи з відповідними типами даних. І ви повинні передати аргументи в тому порядку, в якому вони визначені.

class Calc {
    int sum(a int, b int) {
        return a + b;
     }
}

Calc cal = new Calc();
cal.sum(3, 7); // will return 10

#5. Тіло

Тіло методу містить логіку програмування, яка використовується для повернення певного результату. Він виконує функцію, яку повинен виконувати метод. Він укладений у фігурні дужки і часто називається блоком коду.

class Calc {
    int sum(a int, b int) {
        return a + b;
     }
}

Тут оператор return у фігурних дужках є тілом методу sum.

Виклик методів у Java

Викликати методи в Java досить просто. Ви можете викликати метод за його іменем з екземпляра класу, в якому він знаходиться.

Статичні методи можуть бути викликані без екземпляра об’єкта класу, в якому він присутній. Нестатичні методи повинні бути строго викликані з екземпляра класу, іншими словами, з об’єкта.

Для статичних методів виклик виглядає так:

class Math {
    public static int sum(int a, int b) {
        return a + b;
    }
}

public class Main {
    public static void main(String[] args) {
        int add = Math.sum(5, 2);
        System.out.println(add);
    }
}

У наведеному вище коді метод sum у класі Math є статичним методом. І це причина, чому вам не потрібно створювати об’єкт (примірник) класу Math, вам потрібно лише викликати метод із самого класу.

З іншого боку, для нестатичних методів виклик виглядає так:

class Math {
    public int sum(int a, int b) {
        return a + b;
    }
}

public class Main {
    public static void main(String[] args) {
        int add = new Math().sum(5, 2);
        System.out.println(add);
    }
}

Тут ви створюєте новий об’єкт із класу Math, а потім викликаєте метод sum. Причина цього полягає в тому, що екземпляри нестатичних методів не створюються, доки не буде створено екземпляр класу.

Ось як ви можете викликати метод у Java.

Заключні слова

Не лише в Java, а й у будь-якій мові програмування методи є чудовим способом упорядкувати ваш код і повторно використовувати його в багатьох місцях. Методи є будівельними блоками модульної та компонентної архітектури.

Якщо ви любите Java, дізнайтеся більше про обробку винятків у Java.