首页 > 解决方案 > 尽管我没有从方法返回任何值,但为什么会在我的代码上发生这种情况?

问题描述

我写了一些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,因为更改的数量值没有从这些方法返回。我哪里错了?

标签: javaandroid-studio

解决方案


实际上不返回整数并不意味着它没有应用更改(例如:递增 quantity = quantity + 1;

void意味着在调用函数的地方不会返回任何值来使用(例如在不同的类中)。但是如果你调用它,它仍然会执行里面的代码。


推荐阅读