java - 尽管我没有从方法返回任何值,但为什么会在我的代码上发生这种情况?
问题描述
我写了一些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,因为更改的数量值没有从这些方法返回。我哪里错了?
解决方案
实际上不返回整数并不意味着它没有应用更改(例如:递增 quantity = quantity + 1;
)
void
意味着在调用函数的地方不会返回任何值来使用(例如在不同的类中)。但是如果你调用它,它仍然会执行里面的代码。
推荐阅读
- qt - Qt5:显示带有布局的 Qpainter
- mysql - Node JS Express MySQL,无法获取所有用户
- python - 使用 pygsheets / google 表格进行批量更新的问题/问题
- yii - 设置未知属性:yii\validators\NumberValidator::0
- c++ - 为所有项目设置 OutDir 和 IntDir
- excel - 如何在 VBA 中将变量设置为等于工作簿的标题?以及如何允许它根据它引用的单元格进行更改?
- c - 如何通过 * 标记冒泡排序算法中的变化元素
- python - Django-虚拟环境
- ios - 带有自定义视频设置(分辨率、比特率等)的 iOS Replaykit 屏幕录制
- mysql - 如何在 MySQL 中求和(逻辑与)布尔值