假设我正在实现一个将两个数字相加的计算器。
由于我们想要跟踪到目前为止的部分结果,因此我们需要维护两个成员变量,oldNum 代表部分结果,newNum 代表当前输入的数字。
现在在某个时刻会有一个 add 方法,它将 newNum 添加到 oldNum 并将结果存储在 oldNum 中。
由于 newNum 和 oldNum 都是成员字段,因此我们不需要在 add 方法中传递或返回任何内容。
另一方面,如果您阅读源代码并遇到不带任何参数的 void 方法 add,这可能看起来很奇怪。
所以我的问题是有时您是否希望将成员字段传递给成员函数。
它看起来像:
class Calc {
int oldNum, newNum;
public void add1() {
oldNum = oldNum + newNum;
}
public int add2(int n1, int n2) {
return n1 + n2;
}
最佳答案
这里返回 void 没有什么奇怪的,你正在改变对象的内部状态。如果您想提供输出,您可以返回 this
、void 或加法结果的副本。
你写的add2(...)方法没有使用任何成员变量,应该实现为静态方法,不需要实例化对象。但是,我认为您在这里不需要它。
关于java - 成员函数返回/获取实例变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8087995/