Junior
¿Qué significa la palabra clave 'final' en el lenguaje de programación Java?
sobes.tech AI
Respuesta de la IA
La palabra clave final en Java se usa para indicar que una variable, método o clase no pueden ser modificados.
-
Variable
final:- A una variable declarada como
final, su valor solo puede ser asignado una vez. Después de la asignación, no puede ser cambiado. - Para tipos de datos primitivos, el valor de una variable
finales una constante. - Para tipos de datos referenciales,
finalsignifica que la referencia al objeto no puede ser cambiada, pero el estado del objeto (sus campos) puede ser modificado (a menos que los campos del objeto también seanfinal).
final int MAX_VALUE = 100; // variable final primitiva final List<String> names = new ArrayList<>(); // variable referencial final names.add("Alice"); // OK // names = new ArrayList<>(); // Error de compilación - no se puede reasignar la referencia - A una variable declarada como
-
Método
final:- Un método declarado como
finalno puede ser sobreescrito en subclases. - Esto se usa para prevenir cambios no deseados en el comportamiento en la jerarquía de herencia.
class Parent { final void display() { System.out.println("Este es un método final."); } } class Child extends Parent { // @Override void display() { } // Error de compilación - no se puede sobreescribir un método final } - Un método declarado como
-
Clase
final:- Una clase declarada como
finalno puede tener subclases (no puede ser heredada). - Esto se usa para garantizar la inmutabilidad de la clase y prevenir la extensión de su funcionalidad.
final class ImmutableClass { private final int value; public ImmutableClass(int value) { this.value = value; } public int getValue() { return value; } } // class TryingToExtend extends ImmutableClass { } // Error de compilación - no se puede heredar de una clase final - Una clase declarada como