Una constante es un variable cuyo valor no puede cambiar una vez que ha sido asignado. Java no tiene soporte incorporado para constantes, pero los modificadores variables estático y final se puede usar para crear uno de manera efectiva.
Las constantes pueden hacer que su programa sea más fácil de leer y entender por otros. Además, JVM y su aplicación almacenan en caché una constante, por lo que el uso de una constante puede mejorar el rendimiento.
Modificador Estático
Esto permite utilizar una variable sin crear primero una instancia de clase; un miembro de clase estático está asociado con la clase en sí, en lugar de un objeto. Todas las instancias de clase comparten la misma copia de la variable.
Esto significa que otra aplicación o main () puede usarlo fácilmente.
Por ejemplo, la clase myClass contiene una variable estática days_in_week:
clase pública myClass {
static int days_in_week = 7;
}
Porque esta variable es estático, se puede usar en otro lugar sin crear explícitamente un objeto myClass:
clase pública myOtherClass {
static void main (String [] args) {
System.out.println (myClass.days_in_week);
}
}
Modificador final
El modificador final significa que el valor de la variable no puede cambiar. Una vez que se asigna el valor, no se puede reasignar.
Tipos de datos primitivos (es decir, int, short, long, byte, char, float, double, boolean) pueden hacerse inmutables / inmutables utilizando el modificador final.
Juntos, estos modificadores crean una variable constante.
static final int DAYS_IN_WEEK = 7;
Tenga en cuenta que declaramos DAYS_IN_WEEK en mayúsculas una vez que agregamos el final modificador Es una práctica de larga data entre los programadores de Java definir variables constantes en mayúsculas, así como separar palabras con guiones bajos.
Java no requiere este formato, pero hace que sea más fácil para cualquiera que lea el código de inmediato identificar una constante.
Posibles problemas con variables constantes
La forma en que funciona la palabra clave final en Java es que el puntero de la variable al valor no puede cambiar. Repitamos eso: es el puntero que no puede cambiar la ubicación a la que apunta.
No hay garantía de que el objeto al que se hace referencia permanecerá igual, solo que la variable siempre tendrá una referencia al mismo objeto. Si el objeto referenciado es mutable (es decir, tiene campos que se pueden cambiar), entonces la variable constante puede contener un valor diferente al que se asignó originalmente.