java - 成员函数返回/获取实例变量

标签 java oop

假设我正在实现一个将两个数字相加的计算器。

由于我们想要跟踪到目前为止的部分结果,因此我们需要维护两个成员变量,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/

相关文章:

java - 使用非构造函数方法反序列化为类

java - 删除二叉树中的节点

java - 如何处理复合模式中的添加、删除功能?

python - 如何在基类方法中使用派生类变量

c++ - 如何避免在这个特定的类层次结构设计中向下转型?

java - 线程对象可以设置为静态变量吗

java - 使用循环进行输入验证

java - Maven 部署 -x 给出 Failed to deploy artifacts ....Access returned to : http://

java - 将多个对象作为服务结果的最佳方法

objective-c - Objective-C中的继承和类别有什么区别