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

variables public

Estas en el tema de variables public en el foro de Java en Foros del Web. Una pregunta básica: Si yo declaro una variable en una clase X, como: public static int variableapasar= 5; ¿no debería tenerla accesible en otra clase ...
  #1 (permalink)  
Antiguo 17/05/2012, 06:19
 
Fecha de Ingreso: marzo-2012
Ubicación: Galicia
Mensajes: 27
Antigüedad: 12 años, 1 mes
Puntos: 0
variables public

Una pregunta básica:

Si yo declaro una variable en una clase X, como:

public static int variableapasar= 5;

¿no debería tenerla accesible en otra clase cualquiera mediante x.variableapasar?.

Es que no me funciona, ¿no es correcto?

suma= 33 + x.variableapasar;
  #2 (permalink)  
Antiguo 17/05/2012, 06:24
 
Fecha de Ingreso: marzo-2012
Ubicación: Galicia
Mensajes: 27
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: variables public

Bueno, solucionado, pero no sé porqué, a ver si alguien me lo puede explicar.

Resulta que accedo a la variable así: x.x.variableapasar ¿?
  #3 (permalink)  
Antiguo 17/05/2012, 06:49
Avatar de zero0097  
Fecha de Ingreso: abril-2010
Ubicación: México
Mensajes: 481
Antigüedad: 14 años
Puntos: 69
Respuesta: variables public

quien sabe, rara vez trabajo con estáticos..... pero si, solo pones el nombre d ela clase y la variable y ya, tu caso no se por que asi.....
__________________
De nada, hay te encargo +1...
  #4 (permalink)  
Antiguo 17/05/2012, 08:22
Avatar de Lalounam  
Fecha de Ingreso: mayo-2012
Ubicación: México D.F.
Mensajes: 59
Antigüedad: 12 años
Puntos: 19
Respuesta: variables public

Una variable publica y estática indica que puede ser accedida desde cualquier otra clase (importando previamente) sin necesidad de crear instancias de la clase, es decir con el simple nombre de la clase, ejemplo estático:

int unaVariable = X.x; // donde X mayúscula es el nombre de la clase y x minúscula es el de la variable

ejemplo no estático:

int unaVariable = new X().x;

Espero eso aclare un poco ;D
  #5 (permalink)  
Antiguo 17/05/2012, 10:01
 
Fecha de Ingreso: marzo-2012
Ubicación: Galicia
Mensajes: 27
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: variables public

Si, debería de ser así, pero por alguna razón que no alcanzo a comprender para que me funcione tengo que poner:

int unaVariable= X.X.x; ?¿
  #6 (permalink)  
Antiguo 17/05/2012, 10:46
Avatar de Lalounam  
Fecha de Ingreso: mayo-2012
Ubicación: México D.F.
Mensajes: 59
Antigüedad: 12 años
Puntos: 19
Respuesta: variables public

Valdría la pena ver tu código completo.
  #7 (permalink)  
Antiguo 18/05/2012, 15:15
 
Fecha de Ingreso: marzo-2012
Ubicación: Galicia
Mensajes: 27
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: variables public

Será porque está en un paquete y entonces para acceder a la variable habrá que hacer:

nombrepaquete.nombreclase.nombrevariable ¿?
  #8 (permalink)  
Antiguo 18/05/2012, 17:23
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: variables public

Cita:
Iniciado por ollomol Ver Mensaje
Será porque está en un paquete y entonces para acceder a la variable habrá que hacer:

nombrepaquete.nombreclase.nombrevariable ¿?
Si llamas a X desde una clase del mismo paquete o has importado el paquete, no.

Cita:
Resulta que accedo a la variable así: x.x.variableapasar ¿?
¿El paquete se llama igual igual que la clase?

Si es sí, demuestra una vez más la importancia de los estandares en las nomenclaturas.

Clases comienzan con mayúscula, paquetes en minúscula.

x.X.variable no se entiende igual que x.x.variable.

http://www.um.es/docencia/vjimenez/f...CodigoJava.pdf
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #9 (permalink)  
Antiguo 19/05/2012, 09:33
 
Fecha de Ingreso: marzo-2012
Ubicación: Galicia
Mensajes: 27
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: variables public

Muchas gracias, no conocía las convenciones y no las estaba usando.

Como le llamé igual al paquete que a la clase y el acceso es desde otro paquete entiendo que es por eso que el acceso que funciona es x.x.variable, ¿no?.

Bueno, ya tengo el propósito de enmienda, no sé si tengo que hacer alguna penitencia

Etiquetas: clase, public, variables
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 20:56.