在java中返回before finally
在这种情况下,“myMethod()”是在“doSomething()”之前还是之后执行的在java中返回before finally,java,Java,在这种情况下,“myMethod()”是在“doSomething()”之前还是之后执行的 myMethod()在doSomething之后执行,因为doSomething在barMethod将其值返回给调用方之前执行 计算并准备返回该值,然后最终块将全部执行,只有在调用方继续执行之后;这是调用myMethod的时候。myMethod()之前的doSomething() 它在显示“doSomething”后崩溃为什么不通过向方法中添加System.out.println语句来检查自己呢!?或者还
myMethod()
在doSomething
之后执行,因为doSomething
在barMethod
将其值返回给调用方之前执行
计算并准备返回该值,然后最终
块将全部执行,只有在调用方继续执行之后;这是调用myMethod
的时候。myMethod()之前的doSomething()
它在显示“doSomething”后崩溃为什么不通过向方法中添加
System.out.println
语句来检查自己呢!?或者还有更好的方法:为什么不通过调试代码和查看调用堆栈来检查它呢?
public class Foo {
public void fooMethod() {
Bar bar = new Bar();
bar.barMethod().myMethod();
}
}
public class Bar {
public SomeClass barMethod() {
try {
return new SomeClass();
} finally {
doSomething();
}
}
}
public class Test {
public static void main(String[] a){
new Foo().fooMethod();
}
public static class Foo {
public void fooMethod(){
Bar bar = new Bar();
bar.barMethod().parseInt("sc");
}
}
public static class Bar {
public Integer barMethod(){
try {
return new Integer(100);
} finally {
doSomething();
}
}
private void doSomething(){
System.out.println("doSomething");
}
}
}