可以说我正在实现一个将两个数字相加的计算器。

由于到目前为止我们要跟踪部分结果,因此需要维护两个成员变量,oldNum用于部分结果,newNum用于当前输入的数字。

现在在某个时候将有一个add方法,它将newNum添加到oldNum并将结果存储在oldNum中。

由于newNum和oldNum都是成员字段,因此我们不需要在add方法中传递或返回任何内容。

另一方面,如果您阅读源代码,并且遇到没有任何参数的void方法添加,则这可能看起来很奇怪。

所以我的问题是,有时候是否需要将成员字段传递给成员函数。

它看起来像:

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(...)方法不使用任何成员变量,这些成员变量应作为静态方法实现,不需要实例化该对象。但是,我认为您不需要在这里。

09-28 14:25