Java 中的 void 和 return - 何时使用

2022-01-19 00:00:00 return void java

我对 void 和 return 有一些困惑".一般来说,我理解 void 用在方法中而不返回任何东西,而当我想向调用代码返回一些东西时,return 用在方法中.

I have some "confusion" about void and return. In general, I understand void is used in methods without returning anything, and return is used in methods when I want to return something to the calling code.

但是在下面的代码中,我可以同时使用两者,我的问题是,使用哪一个?以及如何确定?是关于性能吗?

通常情况下,我在这两种情况下都会得到相同的结果.

Normally, I have the same results in both cases.

public class Calc {
    private double number;

    Calc (double n)
    {
        number = n;
    }

    public void add(double n)
    {
        number += n;
    }   

    public double add1(double n)
    {
        return number = number +  n;
    }
}

谢谢!

推荐答案

这个方法:

public void add(double n)
{
   number += n;
} 

您更改了 number 的内部状态,但此方法的调用者不知道 number 的最终值.

You change the internal state of number but the caller of this method doesn't know the final value of number.

在下面的方法中,您正在向调用者提示 number 的最终值.

In the below method, you are intimating the caller the final value of number.

public double add1(double n)
{
   return number = number +  n;
}

我建议保留一个单独的 getNumber() getter 方法.

I would suggest to keep a separate getNumber() getter method.

相关文章