Почему это происходит в моем коде, хотя я не вернул никакого значения из метода? - PullRequest
0 голосов
/ 28 мая 2020

Я написал код Java;

int quantity = 0;

public void submitOrder(View view) {
    displayMessage(createOrderSummary());
}

public void increment(View view) {
    quantity = quantity + 1;
    display(quantity);
}

public void decrement(View view) {
    quantity = quantity - 1;
    display(quantity);
}

private String createOrderSummary() {
    String message = "Quantity : " + quantity;
    return message;
}

Этот код работает нормально. Когда я нажимаю кнопки + и - в приложении, оно выполняет методы увеличения и уменьшения. Но в этих методах я использовал void. Я узнал, что это означает «без возврата» для этого метода.

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

Я думаю, он должен показывать количество как 0, потому что измененные значения количества не возвращались из этих методов. Где я не прав?

1 Ответ

1 голос
/ 28 мая 2020

На самом деле не возвращение целого числа не означает , что изменение не применяется (например: приращение quantity = quantity + 1;)

void означает, что для использования значение не будет возвращено в том месте, где вызывается функция (например, в другом классе). Но если вы его вызовете, он все равно выполнит код внутри него.

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