return语句也结束了父方法?

时间:2013-10-17 22:29:08

标签: java

我是java编程的新手,我想知道是否有某种方法可以使用某种“超级”返回语句结束其父方法。

例如:

public class test {

    public method1 () {
        ...some code...

        if (someValue == someValue2) {return;}

        ...more code...
    }

    public static void main(String[] args) {
        ...some code...

        method1();

        ...more code...
    }
}

我希望method1的return语句也结束父方法的执行(在本例中是main方法),而不是在method1的调用之后根据返回的值添加if语句。这可能吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

没有。

但是在你的例子中,退出会起作用(即停止执行所有操作),但是如果你想要“更多控制”,那么让你的方法返回一个值并检查它。保持一致。例如我喜欢使用0 =成功,其他任何东西都是某种错误代码。

public class test {

    public int method1 () {
        ...some code...
        if (someValue == someValue2) {return -1;}
        ...more code...
        return 0;
    }

    public static void main(String[] args) {
        ...some code...

        if (method1() == 0) {
            ...more code...
        }
    }
}

答案 1 :(得分:0)

方法返回到它时调用它的代码。所以,基本上你回到了来电者。您可以使用布尔返回来实现您的实现:

public method1 () {
        ...some code...

        if (someValue == someValue2) {return false;}
        else return true;

    }

    public static void main(String[] args) {
        ...some code...

        result = method1();
        if(!result)
        return;

        ...more code...
    }

或者,如果您希望程序退出,可以使用System.exit()