En Java, se utiliza la palabra clave final para indicar que una variable debe comportarse como si fuese constante, significando con esto que no se permite su modificación una vez que haya sido declarada e inicializada.
Como es una constante, se le ha de proporcionar un valor en el momento en que se declare, por ejemplo:
class Prueba {
final int version = 1';
. . .
}
Si se intenta modificar el valor de una variable final desde el código de la aplicación, se generará un error de compilación.
Si se usa la palabra clave final con una variable o clase estática, se pueden crear constantes de clase, haciendo de esto modo un uso altamente eficiente de la memoria, porque no se necesitarán múltiples copias de las constantes.
La palabra clave final también se puede aplicar a métodos, significando en este caso que los métodos no pueden ser sobreescritos.