Asignación de valores a variables finales estáticas en Java:
en Java, a las variables finales no estáticas se les puede asignar un valor en el constructor o con la declaración. Pero, a las variables finales estáticas no se les puede asignar valor en el constructor; se les debe asignar un valor con su declaración.
Por ejemplo, el siguiente programa funciona bien.
Java
class Test { // i could be assigned a value here // or constructor or init block also. final int i; Test() { i = 10; } // other stuff in the class }
Si hacemos que i sea final estático , debemos asignarle valor a i con la declaración.
Java
class Test { // Since i is static final, // it must be assigned value here // or inside static block . static final int i; static { i = 10; } // other stuff in the class }
Tal comportamiento es obvio ya que las variables estáticas se comparten entre todos los objetos de una clase; crear un nuevo objeto cambiaría la misma variable estática que no está permitida si la variable estática es definitiva.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA