Primeros pasos con Java, ámbito

Share if you like...Share on Facebook0Tweet about this on TwitterShare on Google+0Share on LinkedIn0

Una vez tenemos un poco de idea de cómo declarar variables en Java, tenemos que tener en cuenta desde dónde, en nuestro programa, podemos acceder a ellas. Esto lo definimos como ámbito de la variable.

Básicamente la norma es que la variable tiene validez dentro del bloque encerrado entre llaves donde ha sido declarada, ya sea dentro de una función o de por ejemplo una sentencia ‘if’. Quedará más claro con el siguiente ejemplo:

public class MiClase {

    public static void main(String[] args) {
        if (true) { // La sentencia if pregunta el valor lógico (verdadero/falso)
                    // en caso de ser cierto entra a cumplir las sentencias
                    // que hay entre las llaves.
            String s = "Cadena de texto"; //Declaramos la variable dentro del bloque if.
        }
    System.out.println(s); // En una consola de java mostraría la cadena de texto si fuera accesible.
    }
}

Si escribimos este código en eclipse, el entorno nos dará un error diciéndonos que la variable no está definida, puesto que la hemos declarado en un bloque distinto de donde la pretendemos utilizar. Sin embargo, cuando el bloque en el que hacemos la llamada a la variable, es un boque interno a aquél en que se declaró, sí que es visible, por lo que el siguiente ejemplo sí funcionaría:

public class MiClase {

    public static void main(String[] args) {
        String s = "Cadena de texto";
        if (true) {
System.out.println(s); // El bloque es interno, la variable que hay en el bloque
                                   // superior sí es accesible.
        }
    }
}

Hay más normas de ámbito respecto a las variables miembro de una clase. Para acceder a ellas depende si en la clase está declarada como ‘public’ o como ‘private’. Las variables declaradas en una clase como ‘public’ se acceden desde cualquier parte del código a través de ‘NombreClase.nombreVariable’. En caso de una variable ‘private’ solo podemos utilizarla mediante los métodos de esa clase, la variable nunca será accesible desde fuera de la clase.

La definición del ámbito se da indicando qué ámbito tendrá antes de indicar el tipo:

public int i = 3;

Los tipos de ámbitos que existen en java son:

  • public, cuando declaro un atributo o método de tipo public todas las clases tienen acceso a él.
  • protected, cuando declaro un atributo o método protected sólo se tiene acceso a él desde la propia clase que lo define y las que heredan de él.
  • private, cuando declaro un atributo o método de tipo private sólo se tiene acceso a él desde la clase que lo define nada más.
  • package, tendrán acceso a estos atributos o métodos las clases que se encuentren contenidas en el mismo paquete que la clase que los define. Este será el modificador por defecto si no indicamos ningún  ámbito.
Share if you like...Share on Facebook0Tweet about this on TwitterShare on Google+0Share on LinkedIn0
The following two tabs change content below.
Reborn as IT Developer. Desarrollador Android y fundador de Proyecto Simio. "En realidad, yo no puedo enseñar nada a nadie, sólo puedo hacerles pensar." - Sócrates.

Deja un comentario