Синтаксис Java · Урок 4/9
44%
⏱ 10–15 min

Объявление и вызов методов в Java

1. Что такое метод в Java?

В сегодняшнем нашем уроке мы более детально поговорим с вами о методах в Java программировании. Практически весь код в Java вы будете писать в методах, поэтому очень важно понимать их синтаксис. Давайте начнём с общей формы объявления метода:

Общая форма объявления метода:

тип имя(список_параметров){
    // тело метода
}

Существует также такое понятие как сигнатура метода Java языка - это имя метода и его параметры. Возвращаемый тип не входит в сигнатуру.

Каждый класс может содержать любое количество методов.

Давайте посмотрим на примеры.

Методы в Java не возвращающие значение

В следующем примере метод print не принимает на вход никаких значений - список параметров у него пустой. Возвращаемый тип у него void - это значит, что он ничего не возвращает.

Метод выводит на консоль сообщение "Print some info". В объявлении метода также указано ключевое слово static. Что оно означает, рассмотрим в  уроке Статические методы Java. Пока все методы будем объявлять с ключевым словом static:

static void print() {
     System.out.println("Print some info");
 }

Методы в Java возвращающие значение

Метод getVolume принимает на вход три параметра типа double, а также возвращает значение типа double. Метод возвращает значение с помощью ключевого слова return:

static double getVolume(double width, double height, double depth) {
       return width * height * depth;
 }

2. Тип метода

Тип обозначает конкретный тип данных, возвращаемых методом. Он может быть любым допустимым типом данных, в том числе и типом созданного класса.

Если метод не возвращает значение, то его возвращаемым типом должен быть void.

Методы, возвращаемый тип которых отличается от void, возвращают значение: return значение;

3. Имя и параметры метода

Для указания имени метода служит идентификатор имя. Это может быть любой допустимый идентификатор, кроме тех, которые уже используются другими элементами кода в текущей области действия.

Список параметров обозначает последовательность пар "тип-идентификатор", разделенных запятыми. По существу, параметры - это переменные, которые принимают значения аргументов, передаваемых методу во время его вызова. Если у метода отсутствуют параметры, то список_параметров оказывается пустым.

4. Объявление и вызов метода Java

Давайте посмотрим на такой пример - у нас есть класс SquareExample, в котором есть метод main и метод square. Метод square имеет возвращаемый тип int и один параметр типа int.  В методе square просто перемножаются значения типа int:

public class SquareExample {
    public static void main(String[] args) {
        int x, y;
        x = square(5);
        System.out.println(x);
        x = square(9);
        System.out.println(x);
        y = 2;
        x = square(y);
        System.out.println(x);
    }

    public static int square(int i) {
        return i * i;
    }
}

Когда мы таким образом указываем наш метод, мы просто его объявляем. Но он не запустится, если мы его явно не вызовем. В методе main мы видим три вызова нашего метода square. В метод square необходимо передать значение, которое совместимо с параметром int i. Это может быть литерал или переменная.

Когда мы пишем методы, мы пишем один метод после другого. Нельзя объявлять один метод внутри другого.

5. Параметр и аргумент

Важно различать два термина: параметр и аргумент.

Параметр - это переменная, определенная методом, которая принимает значение при вызове метода.

Аргумент - это значение, передаваемое методу при его вызове. Например, square(100) передает 100 в качестве аргумента. Внутри метода square() параметр i получает это значение.

Презентацию с видео можно скачать на Patreon.

Видео объяснение

Предпочитаете видеоформат? Посмотрите этот урок с примерами и объяснениями.

Java программирование

1. Введение в Java
2. Запуск Java
3. Синтаксис Java
4. Операторы Java
5. Условия и циклы
6. Массивы
7. Алгоритмы
8. ООП
9. static
10. Object
11. Интерфейсы, enum
12. Wrapper классы
13. String
14. Localization& Internationalization
15. Date & Time
16. Generics
17. Lambda
18. Коллекции
19. Stream API
20. Исключения
21. I/O
22. Reflection & JavaDoc
23. Сериализация
24. Maven
25. SQL
26. JDBC
27. Многопоточность
28. Git и GitHub
‹ Предыдущий урок Следующий урок ›