Asignación de valores a variables finales estáticas en Java

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *