public class A
{
private static final int x;
public A()
{
x = 5;
}
}
final
significa que la variable sólo se puede asignar una vez (en el constructor).static
significa que es una instancia de clase.
No puedo ver por qué esto está prohibido. ¿Dónde interfieren esas palabras clave entre sí?Inicializar un campo static final en el constructor
+1 para una respuesta clara y simple – sactiw
Aparentemente, nadie se molestó en explicar que las variables estáticas son variables que existen en todas las instancias de una clase. Como tal, solo se pueden crear instancias una vez, cuando se carga la clase, no cuando potencialmente se construyen muchas instancias de la clase. – iheanyi
Además, recomendaría simplemente asignar en la declaración en lugar de en un bloque estático. Es más limpio y probablemente sea lo que el OP quería hacer: 'private static final int x = 5;' – qwertzguy