Методы

Последнее обновление: 16.09.2025

Если переменные класса хранят состояние объекта, то методы представляют его поведение. Методы содержат собой набор операторов, которые выполняют определенные действия. И если нам надо определить в классе некоторые действия, нам надо определить методы.

Определение методов

Общее определение методов выглядит следующим образом:

[модификаторы] тип_возвращаемого_значения название_метода ([параметры]){
	// тело метода
}

Модификаторы и параметры необязательны.

По умолчанию главный класс любой программы на Java содержит метод main, который служит точкой входа в программу:

class Program{

    public static void main(String[] args) {  

        System.out.println("Hello METANIT.COM!");
    }
}

Ключевые слова public и static являются модификаторами. Далее идет тип возвращаемого значения. Ключевое слово void указывает на то, что метод ничего не возвращает.

Затем идут название метода - main и в скобках параметры метода - String[] args. И в фигурные скобки заключено тело метода - все действия, которые он выполняет.

Для примера создадим класс и определим в нем метод:

      
class Person{ 
    String name;
    int age;

    void print(){
        System.out.printf("Name: %s	\tAge: %d\n", name, age);
    }
}

class Program{

    public static void main(String[] args) {  

    }
}

Здесь определен класс Person с двумя полями - name и age и одним методом print. Иетод print в качестве возвращаемого типа имеет тип void (то есть по сути ничего не возвращает) и не принимает никаких параметров. Все что делает этот метод - это выводит на консоль значения переменных name и age.

Но чтобы применить метод, его надо вызвать.

Вызов метода

Вызов метода осуществляется в форме:

имя_метода(аргументы);

После имени метода указываются скобки, в которых перечисляются аргументы - значения для параметров метода.

Обращаю внимание, что в классе Program определен метод main, и нам не надо было его никак вызывать. Дело в том, что этот метод автоматически вызывается средой выполнения Java, и нам не надо его явным образом вызывать. Остальные методы нам надо явным образом вызвать. И поскольку при запуске программы запускает метод main(), то все остальные надо вручную явным образом вызывать в методе main (или в других методах, которые были также вызваны ранее). Например, вызовем выше определенный метод print:

class Program{

    public static void main(String[] args) {  

  		// создаем объект Person
        Person tom = new Person();

  		// устанавливаем значения полей класса
        tom.name = "Tom";
        tom.age = 41;

  		// вызываем метод print
        tom.print();
    }
}

class Person{ 
    String name;
    int age;

    void print(){
        System.out.printf("Name: %s	\tAge: %d\n", name, age);
    }
}

Для вызова метода print в методе main используется выражение tom.print(). То есть как и в случае с полями, после имени переменной класса идет точка и затем имя метода. Поскольку метод print не имеtт никаких параметров, то после его названия при вызове ставятся пустые скобки. В итоге при выполнении программы мы увидим на консоли информацию о полях объекта:

Name: Tom		Age: 41

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

class Program{

    public static void main(String[] args) {  

        Person tom = new Person();

        tom.name = "Tom";
        tom.age = 41;
        tom.print();

        tom.name = "Tomas";
        tom.print();

        tom.name = "Tommy";
        tom.print();
    }
}

class Person{ 
    String name;
    int age;

    void print(){
        System.out.printf("Name: %s	\tAge: %d\n", name, age);
    }
}

Здесь мы три раза устанавливаем имя человека и с помощью метода print проверяем его установку. В итоге мы получим следующий консольный вывод:

Name: Tom		Age: 41
Name: Tomas		Age: 41
Name: Tommy		Age: 41

Вызов методов в других методах класса

Одни методы класса могут вызывать другие методы этого класса:

class Program{

    public static void main(String[] args) {  

        Person tom = new Person();  // создаем объект Person

        tom.name = "Tom";
        tom.age = 41;
        tom.print();
    }
}

// класс Person
class Person{ 
    String name;
    int age;

    void printName(){
        System.out.printf("Name: %s\n", name);
    }
    void printAge(){
        System.out.printf("Age: %d\n", age);
    }
    void print(){
        printName();
        printAge();
    }
}

Здесь в методе print вызываются два других метода класса - printName и printAge. Консольный вывод программы:

Name: Tom
Age: 41
Помощь сайту
Юмани:
410011174743222
Номер карты:
4048415020898850
Morty Proxy This is a proxified and sanitized view of the page, visit original site.