Foros del Web » Programación para mayores de 30 ;) » Java »

iniciarlizar constante

Estas en el tema de iniciarlizar constante en el foro de Java en Foros del Web. Hola a todos, es posible crear una constante sin darle un valor inicial al declararla, el valor se lo daria al ejecutar el programa. Gracias...
  #1 (permalink)  
Antiguo 29/08/2014, 14:02
 
Fecha de Ingreso: agosto-2014
Mensajes: 4
Antigüedad: 9 años, 8 meses
Puntos: 0
iniciarlizar constante

Hola a todos, es posible crear una constante sin darle un valor inicial al declararla, el valor se lo daria al ejecutar el programa. Gracias
  #2 (permalink)  
Antiguo 30/08/2014, 04:10
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: iniciarlizar constante

Buenas,

Si quieres crear una constante propiamente dicha (final y static) estas obligado a inicializarla en la declaración.
Sin embargo, para lograr lo que quieres puedes declarar la variable final pero no static.

Échale un vistazo a este articulo:
http://dystopiancode.blogspot.fr/2011/12/initializing-constants-in-java.html

Un saludo
  #3 (permalink)  
Antiguo 30/08/2014, 13:04
 
Fecha de Ingreso: enero-2008
Mensajes: 614
Antigüedad: 16 años, 3 meses
Puntos: 57
Respuesta: iniciarlizar constante

Claro que es posible declarar una variable static final sin darle un valor y asignarselo en tiempo de ejecucion y no en tiempo de compilacion.

No estas "obligado" a darle un valor al declararla. Claro que es lo recomendado.

Ya se habia creado un tema parecido. Mira mi respuesta en ese tema (post #6)
http://www.forosdelweb.com/f45/uso-static-final-848899/
  #4 (permalink)  
Antiguo 31/08/2014, 14:13
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: iniciarlizar constante

Buenas,

@posman
No entiendo donde quieres ir a parar. El código que pones en dicho post:

Código Java:
Ver original
  1. public static final int MiConstante ;
  2.  
  3.     static {
  4.         MiConstante = MiClase.temp;
  5.     }
  6. [...]

Es exactamente lo mismo para el compilador que poner directamente esto:

Código Java:
Ver original
  1. public static final int MiConstante = MiClase.temp;


Es decir, en tu código en realidad estás haciendo una inicialización en la propia declaración.


Nadie ha dicho que el valor no se pueda asignar en tiempo de ejecución. Si su valor declarado es una referencia a un objeto que se inicializa en ejecución, obviamente no hay problema.


Un saludo

Etiquetas: constante, programa, valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:19.