Ámbito predeterminado en java

Video: Tutorial Java - 21 - This, Ambito de Variables

A medida que las aplicaciones Java se vuelven más complejos, la necesidad de considerar el alcance cada vez más importante. La razón principal es que se pueden introducir inadvertidamente un error en la aplicación de la no observancia de reglas de alcance.

Video: Java 8 Tutorial - 5 Métodos por Defecto (Default Methods)

Esto puede resultar de un campo o de otro miembro que se utilizan incorrectamente por la aplicación (tales como la adición de un valor de datos incorrectos o acceder a un método en el momento equivocado o con datos incorrectos). Además, de alcance incorrecta puede dejar la puerta abierta para personas ajenas a interactuar con su aplicación de manera imprevista (como un virus).

El ámbito predeterminado se produce cuando no se asigna específicamente un alcance a un elemento de la clase. Debido a que muchos desarrolladores de Java no tienen idea de lo que es el ámbito predeterminado para algunos elementos (y el uso de un ámbito predeterminado significa que su código no está documentado), no se utiliza muy a menudo.

A pesar de ello, lo que necesita saber lo que es el ámbito predeterminado para varios elementos debido a que algunos desarrolladores de Java no confían en él. Sin embargo, antes de poder comprender el alcance predeterminado, debe tener en cuenta visibilidad - la medida de que los elementos de aplicación pueden ver a un miembro. Java proporciona los siguientes niveles de visibilidad (en orden general de encapsulación):

  • Paquete: El recipiente utilizado para contener un número de clases. Cuando se trabaja con una estructura de directorios simple, como los ejemplos de este libro hacen, el paquete es un directorio que contiene varios archivos .class.

  • Clase: Una clase normalmente reside en un único archivo .java que se compila en un archivo .class. Contiene una sola declaración de la clase.

  • Método: Un elemento puede residir en la clase o como parte de un método. El método actúa como un contenedor para mantener el elemento.

  • Bloquear: Un elemento puede residir dentro de un bloque de código, tal como un bucle.

Ámbito de aplicación depende en parte de la ubicación utilizada para declarar un elemento. Por ejemplo, una variable que se define dentro de un bloque (tal como un bucle) es visible sólo dentro de ese bloque. Cuando intenta utilizar la variable fuera del bloque, Java muestra una excepción. Teniendo en cuenta la visibilidad, esta tabla describe los diversos niveles de alcance dentro del entorno Java.

Reglas de alcance Java
Visibilidadprivado(defecto)protegidopúblico
Accesible desde la clasexxxx
Accesibles desde el paquetexxx
Accesible desde cualquier clase hijaxx
accesible desde cualquier lugarx

La tabla muestra cómo el ámbito predeterminado encaja en el esquema de las cosas. Por ejemplo, si se declara un método mediante el ámbito predeterminado, cualquier método se puede utilizar siempre que reside en el mismo paquete. Además, si crea una clase que hereda de la clase que contiene el método, la subclase puede utilizar el método con tal de que reside en el mismo paquete.

Sin embargo, si existe la subclase fuera del paquete actual, no puede utilizar el método. En pocas palabras, el ámbito predeterminado es un poco más restrictivo que el ámbito protegido, pero menos restrictivo que el ámbito privado.

Artículos Relacionados