Пустой тип для метода в Java OOP

У меня была проблема в течение нескольких дней, я не могу понять, что такое тип метода Void. Какова цель метода, который не возвращает значение (что означает, что метод не имеет возвращаемого значения метода, мой опыт такого объяснения состоит в том, что метод ничего не делает)? Мне это нужно для экзамена по программированию, который скоро будет, а в книгах всегда написано одно и то же "Метод Void не возвращает значение".

Я думал, что методы с таким типом возвращаемого значения служат только для переопределения самих себя. Может быть, у меня проблема, потому что я связываю термин «Не возвращает значение» с Mathlab, потому что в Mathlab, если я поставлю двоеточие в конце команды, команда будет выполнена, но ничего не вернет.

Matlab, например:

x = [ 90 0 0 ];
s=sin(x);

«Мой опыт такого объяснения состоит в том, что этот метод ничего не делает». Действительно? Вы никогда не сталкивались с методом, который что-то делает и возвращает void. Или вы просто имеете в виду "мое предположение"?

user207421 23.07.2023 11:33
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
1
59
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Метод void не означает, что он ничего не делает, это означает, что его работа выполняется без возврата результата.

Этот метод выполняет задачу, но ничего не возвращает.

например, хорошими примерами являются методы установки. в этом примере setFirstname — это метод, который присваивает значение первому поданному имени.

public class Person {
    private String firstname;

    public void setFirstname(String s) {
        firstname = s;
    }

    public String getFirstname() {
        return firstname;
    }
}

Давайте использовать это

public class Main {
    public static void main(String[] args) {
        Person person = new Person();
        person.setFirstname("Ali");
        String personFirstname = person.getFirstname();
        System.out.println(personFirstname);
    }
}

вывод будет:

Али

Как видите, когда мы используем метод getFirstname и печатаем возвращаемое им значение, становится ясно, что поле firstname изменилось.

Кто выполняет эту задачу? setFirstname метод.

Хотя этот метод не имел конкретного результата, он делал что-то важное.

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

public class SumOfNumbers {
public static void main(String[] args) {
    //you can choose to first initialize the numbers
    int num1 = 10;
    int num2 = 15;
    //call the method to add the two numbers
    add(num1,num2);

    //alternatively call the method and pass the numbers direct
    System.out.println();//to print new line between the two solutions
    add(10, 15);
}

//the method takes two numbers, finds the sum, prints the sum
public static void add(int a, int b){
    int sum = a + b;

    //print the sum
    System.out.println("The sum of " + a +  " and "  + b + " is " + sum);
}

}

обратите внимание, что в основном методе требуется система вывода, поскольку метод уже имеет оператор вывода. система вывода, используемая в этом коде, предназначена для различения двух выходных данных, т.е. когда мы сначала инициализируем числа и когда мы передаем число непосредственно методу.

Другие вопросы по теме