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

Объявление и вызов методов в Java фото
Author: Tatyana Milkina

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.

Читайте также:
Комментарии
Dmitry_K
May 29, 2022
Добрый день. Заметил ошибку в тесте к лекции Методы: Правильный ответ в вопросе "Правильное ли это объявление метода?" должен быть - "Нет". void someMethod( ) { return; } Так как методы с возвращаемым типом void не могут содержать оператор return.
milkina
Jun 5, 2022
Dmitry_K, так тоже можно - если возвращаемый тип void, то можно использовать оператор return;