Especificadores de Acceso


Un especificador (modificador) de acceso o alcance es una palabra clave (reservada) que nos permite controlar nivel de alcance que tiene cada variable, método o clase. Existen tres public, protected,  private, static, final. 

public establece un nivel de acceso total, es decir  una clase public puede ser usada por otras clases del mismo paquete y de otros paquetes no relacionados, lo mismo para los métodos y variables.
public es el especificador de acceso mas utilizado en estudiantes ya que no nos enfrentamos a la dificultad (¿..?) de tener que determinar que se puede y que no se puede utilizar en un clase.

private establece un nivel restringido de acceso, En el cual los miembros declarados como tal solo son accesibles dentro de la clase, aunque la clase herede de esta ultima. las variable y métodos private son usados cuando los clientes de una clase no deben preocuparse (ni les debe importar) como se efectúan las acciones claves de un programa. establecer miembros private establece el mayor nivel de seguridad.

protected establece un nivel de acceso intermedio entre public y private en el que los miembros solo son accesibles por clases y métodos dentro del mismo paquete.

static el modificador static crea variables y metodos de clase (a esto es lo que nos referimos cuando hablamos de variables de clase) estos objetos pueden ser llamados desde cualquier parte de la clase modificando sus valores reales de forma definitiva. la diferencia con una variable normal es que cuando llamamos a una variable de instancia (normal) cambiamos su valor solo en ese instancia (metodos, etc..) en cambia una variable estatica cambia de valor definitivamente cada vez que se llama, en palabras simples actualizamos su valor real desde cualquier parte del programa.


final el modificador final, crea una constante, en realidad en java no existen las constantes, pero final hace que las variables imiten su comportamiento. Cualquier intento por modificar una variable final creara un error en tiempo de ejecucion.
Un ejemplo de final, es la variable PI, de la clase Math


class Generalidades
{
  public static void main(String[]agrs)
    {
        System.out.println("El valor de  Pi es"+ Math.PI);
        System.out.println("nuevo valor de Pi"+(Math.PI = 5));//intentamos cambiar el valor de PI

    }//fin del metodo main
}// Fin de la clase

Esta seria la salida del compilador.:


El valor de  Pi es3.141592653589793
Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - cannot assign a value to final variable PI
at Ejemplo.Generalidades.main(Generalidades.java:12)


lo que esta en rojo es la descripción del error cannot assign a value to final variable PI (no se puede asignar un valor a la variable final PI)


conforme avance el curso iremos agregando mas datos sobre los modificadores y especificadores.

2 comentarios:

Alguna consulta, dato, reclamo o donacion1313?