J'ai une classe Java simple comme indiqué ci-dessous:
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());
}
}
Et la sortie de ce code est la suivante:
Entry in finally Block
dev
Pourquoi n'est-il s
pas remplacé dans le finally
bloc, tout en contrôlant la sortie imprimée?
s
avant de modifier sa valeur.
finally
bloc , contrairement à C # (ce que vous ne pouvez pas)