las variables finales no funcionan bien en jshell
Estoy trabajando con jshell de JDK9.
Acabo de crear una variable final y le asigné un valor. Y en la siguiente línea acabo de modificar el valor. Y para mi sorpresa, no hubo error al modificar las variables finales.
Aquí están los fragmentos de código:
jshell> final int r = 0;
| Warning:
| Modifier 'final' not permitted in top-level declarations, ignored
| final int r = 0;
| ^---^
r ==> 0
jshell> r = 1;
r ==> 1
jshell> System.out.println("r = "+r)
r = 1
¿Es lo que se espera de jshell? o hay alguna otra forma de trabajar con variables finales en jshell?