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

Public y static

Estas en el tema de Public y static en el foro de Java en Foros del Web. Hola amigos Una consulta basica. Entiendo que el static es para definir propiedades y metodos de la clase y no del objeto instanciado en si. ...
  #1 (permalink)  
Antiguo 15/09/2006, 09:02
 
Fecha de Ingreso: noviembre-2003
Ubicación: Paraguay
Mensajes: 382
Antigüedad: 20 años, 5 meses
Puntos: 4
Mensaje Public y static

Hola amigos

Una consulta basica.

Entiendo que el static es para definir propiedades y metodos de la clase y no del objeto instanciado en si.

Pero veo mucho algo asi

public static String nombre;
por ejemplo.

de que sirve ser public si es static?
  #2 (permalink)  
Antiguo 15/09/2006, 09:24
Avatar de hugo777  
Fecha de Ingreso: enero-2002
Ubicación: Lima, Perú
Mensajes: 757
Antigüedad: 22 años, 3 meses
Puntos: 1
Hola, cuando una variable es pública puede ser accedida desde cualquier otra clase, y si es es estática, significa que existirá una única copia de esa variable en toda la JVM de tu aplicación.

En resumen, vendría a ser como una variable Global compartida en otros lenguajes.
__________________
Saludos,

H@C..
  #3 (permalink)  
Antiguo 15/09/2006, 09:54
 
Fecha de Ingreso: noviembre-2003
Ubicación: Paraguay
Mensajes: 382
Antigüedad: 20 años, 5 meses
Puntos: 4
AAhhhh.

Perfecto. Ya entendi la funcionalidad.

Gracias hugo777
  #4 (permalink)  
Antiguo 16/09/2006, 08:52
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Cita:
Iniciado por hugo777 Ver Mensaje
... y si es es estática, significa que existirá una única copia de esa variable en toda la JVM de tu aplicación...
Siempre que sólo tengas un ClassLoader . No es por tocar las narices pero es una fuente de errores importantes en aplicaciones web donde las variables estaticas de clases propias de cada contexto NO se comparten.
  #5 (permalink)  
Antiguo 17/09/2006, 07:26
 
Fecha de Ingreso: noviembre-2005
Mensajes: 97
Antigüedad: 18 años, 5 meses
Puntos: 0
Yo entiendo que static quiere decir que es propia de la clase, y no del objeto en particular.

Puedes tener una clase pública que defina algunas variables estáticas. Si luego en otro sitio tu creas objetos de esa clase anterior, si modificas una variable estática estará modificada para todos los objetos de dicha clase, y no sólo para el objeto en particular.
  #6 (permalink)  
Antiguo 17/09/2006, 22:10
 
Fecha de Ingreso: agosto-2006
Mensajes: 13
Antigüedad: 17 años, 8 meses
Puntos: 0
algo mas

comparto con lo dicho anteriormente, pero algo mas de el por que poner public

public para que puedas acceder a esta variable de la siguiente forma

objeto.MiVariable;
  #7 (permalink)  
Antiguo 18/09/2006, 07:29
 
Fecha de Ingreso: noviembre-2003
Ubicación: Paraguay
Mensajes: 382
Antigüedad: 20 años, 5 meses
Puntos: 4
Perfecto amigos.

TAmbién encontre por ahi que si la clase es static no hace falta instanciarla
  #8 (permalink)  
Antiguo 19/09/2006, 00:23
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Sonrisa

Cita:
Iniciado por forojuan Ver Mensaje
comparto con lo dicho anteriormente, pero algo mas de el por que poner public

public para que puedas acceder a esta variable de la siguiente forma

objeto.MiVariable;
Y por lo que no se recomienda utilizar, ya que rompe el principio de encapsulamiento .

Se suele recomendar tener las variables privadas y usar "getters/setters" para acceder/modificar dichas 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 03:38.