La palabra clave final puede modificar variables locales en clases, variables miembro y métodos. Puede utilizar la palabra clave final para declarar una clase como clase final. Una clase final no se puede heredar, es decir, no puede tener subclases.
Por ejemplo:
clase finalA{…}
A es una clase final y no se permitirá que ninguna clase sea declarada como subclase de A. Generalmente algunas clases se modifican como clases finales por motivos de seguridad. Por ejemplo: la clase String proporcionada por Java en el paquete java.lang juega un papel muy importante en el funcionamiento normal del compilador e intérprete. Java no permite que los programas de usuario extiendan la clase String, por lo que Java la modifica como una clase final. .
Si un método en la clase principal se modifica con final, entonces las subclases no pueden anular este método, es decir, las subclases no pueden ocultar los métodos finales que se pueden heredar.
Si una variable miembro o una variable local se modifica para que sea final, es una constante. Dado que no se permite que las constantes cambien durante el tiempo de ejecución, las constantes no tienen un valor predeterminado cuando se declaran, lo que requiere que el programa especifique el valor de la constante al declararla.