void方法中的return语句

mon*_*ica 3 java

我有以下方法返回void,我需要在另一个也返回void的方法中使用它.我可以这样做吗?

public void doSomething(){}

public void myMethod()
{
    return doSomething();
}
Run Code Online (Sandbox Code Playgroud)

感谢您的所有评论,但让我更具体

我只有doSomething在事情发生时,否则我做其他事情

public void doSomething(){}

public void myMethod()
{
    for(...)
        if(somethingHappens)
        {
            doSomething();
            return;
        }

    doOtherStuff();
}
Run Code Online (Sandbox Code Playgroud)

而不是上面的代码,我可以return doSomething();在if语句中写入吗?

kol*_*kol 14

不,只需这样做:

public void doSomething() { }

public void myMethod()
{
    doSomething();
}
Run Code Online (Sandbox Code Playgroud)

或在第二种情况下:

public void doSomething() { }

public void myMethod()
{
    // ...
    if (somethingHappens)
    {
        doSomething();
        return;
    }
    // ...
}
Run Code Online (Sandbox Code Playgroud)

"返回无效"意味着什么都不返回.如果你想"跳出" myMethod身体,请使用return;编译器不允许写入return void;("非法开始表达")或return doSomething();("不能从结果类型为void的方法返回值").我理解返回方法调用的"void"或"void result"似乎是合乎逻辑的,但是这样的代码会产生误导.我的意思是大多数读过类似程序的程序员return doSomething();会认为有些东西可以归还.


Sam*_*lar 5

void函数不会/不能返回任何内容.只需调用该功能即可.