为什么更改finally块中的返回变量不会更改返回值?
我有一个简单的Java类,如下所示:
public class Test { private String s; public String foo() { try { s = "dev"; return s; } finally { s = "override variable s"; System.out.println("Entry in finally Block"); } } public static void main(String[] xyz) { Test obj = new Test(); System.out.println(obj.foo()); }}
这段代码的输出是这样的:
Entry in finally Blockdev
为什么s
不在finally
块中覆盖,而是控制打印输出?
小怪兽爱吃肉
慕运维8079593
子衿沉夜
相关分类