Programación General > Java

 Acceso A Variables

(1/2) > >>

alemag:
Creo que lo mas logico es poner los datos miembro de una clase como privados, para que no se puedan modificar desde fuera, y si se quiere acceder a esos datos, se hace a través de un observador. Pues bien, tengo lo siguiente:

public class Ejemplo
{
  int a;
 
  public int get_entero()
  {
     return a;
  }
}

y desde otra clase pretendo acceder a ese dato entero con:
 ....
 Ejemplo ej=new Ejemplo();
 System.out.println(ej.get_entero());
 ...

y con el eclipse me dice que el dato entero a no es visible.
Pero supuestamente no estaria accediendo a ese dato a traves del observador, y éste es público ???

Por favor, ayudadme. Muchas gracias.

kike_monarcas:
Hola. Por default, todas las variables que no tengan ningún modificador de acceso son públicos, entonces, en tu programa no necesitas tener un método que acceda a la variable "a" a menos de que ésta sea privada. Saludos!

 :hola:

hano:
Hola:

Perdona que te corrija, pero por defecto, el modificador en Java es "default", accesible desde clases dentro del mismo paquete.

El código que muestras no debería dar ese error, por estás accediendo a "a" dentro de la misma clase y el método get_entero() es público.

¿Podrías aportar más información al respecto?

Un saludo

Luis Javier López Arredondo.
http://es.geocities.com/luisja80
http://hardprogrammer.blogspot.com

alex7882:
Hola a todos. Llevo una temporada leyendo este foro pero nunca me habia animado a postear nada. A ver si voy cambiando eso. ;)
Hano, tenia entendido que la visibilidad por defecto era "protected" pero veo que estaba equivocado.¿Que diferencia hay entre "protected" y "default"?

aicrag:
Buenas.

Hano tiene razón, cuando no se especifican un  modificador en java, el compilador toma un por defecto, "default" o "package" es igual, y es accesible solo por las clases del paquete al que pertenece la clase y si no se utiliza ningún paquete se utiliza el paquete por defecto que será el directorio en el que estén todas tus clases.

la diferencia principal entre protected y default es que protected es como una especie de hibrido entre public y private, funciona como public para todas las clases derivadas y como private para el resto de las clases.  B)

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa