Ho una semplice classe Java come mostrato di seguito:
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());
}
}
E l'output di questo codice è questo:
Entry in finally Block
dev
Perché s
non viene ignorato nel finally
blocco, ma controlla l'output stampato?
s
prima di cambiarne il valore.
finally
blocco , a differenza di C # (che non è possibile)