[Explained] Как да извикате метод в Java

Методът в Java не е нищо друго освен част от код за многократна употреба, която може да бъде изпълнена при поискване.

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

Значение на използването на методи или функции

Разработчиците на софтуер решават проблем, като го разделят на по-малки проблеми и ги решават, за да решат проблема като цяло. Тази идея доведе до това, което е известно като модулна архитектура. При този подход разработчиците разбиват кода на части, които могат да се местят и изпълняват, за да решат по-голям проблем.

Методите са изгодни, защото могат да се използват в различни инстанции в цялото приложение. Да приемем, че искате да създадете помощен метод за премахване на всички ненужни бели интервали от изречение. Ще има ли смисъл да пишете логиката всеки път, когато имате нужда от нея някъде в приложението си?

Или има смисъл да създадете метод веднъж и след това да използвате същия метод с различни входове на няколко места в приложението си? Последното очевидно е по-добро и по-ефективно.

Не само това, с помощта на модификаторите за достъп в Java можете дори да контролирате кои методи действително могат да се споделят в приложението и кои от тях не. Това също помага да направите кода си по-четлив, организиран и структуриран.

  Как да промените настройките на DNS на вашата операционна система или рутер

Видове методи в 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: достъпен само за класа, към който принадлежи
  • по подразбиране: модификаторът за достъп по подразбиране е подобен на защитения модификатор, в който методът е достъпен само в рамките на същия пакет
  • защитен: достъпен в рамките на подкласове или конкретен пакет
public int sum(a int, b int) {
    return a + b;
}

Тук методът calc има модификатора за достъп като публичен и по този начин ще бъде достъпен отвсякъде.

  Как да хоствате Amazon Hub Locker/Counter?

#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 във фигурните скоби е тялото на сумата на метода.

  Обяснени са 4-те основни вида техники за писане (и какво трябва да използвате!)

Методи за извикване в 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);
    }
}

В горния код методът на сумата в класа 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.