"Hola a mi estudiante favorito. Ahora les voy a hablar sobre la visibilidad de las variables".
"¿Eh? ¿Pueden las variables ser invisibles?"
"No. La 'visibilidad' o alcance de una variable se refiere a los lugares en el código donde puede hacer referencia a esa variable. Puede usar algunas variables en todas partes del programa, pero otras solo pueden usarse dentro de su clase, y otras más: solo dentro de un método " .
"Por ejemplo, no puede usar una variable antes de que haya sido declarada".
"Eso tiene sentido."
"Aquí hay un par de ejemplos:"
┏
┃public class Variables
┃┏
┃┃{
┃┃ private static String TEXT = "The end.";
┃┃ ┗━━━━━━━━━━━━━━┛
┃┃ public static void main (String[] args)
┃┃ ┏ ┗━━━━━━━┛
┃┃ ┃ {
┃┃ ┃ System.out.println("Hi");
┃┃ ┃ String s = "Hi!";
┃┃ ┃ ┏┗━━━━┛
┃┃ ┃ ┃ System.out.println(s);
┃┃ ┃ ┃ if (args != NULL)
┃┃ ┃ ┃ {
┃┃ ┃ ┃ String s2 = s;
┃┃ ┃ ┃ ┗━━━━┛
┃┃ ┃ ┃ ┏
┃┃ ┃ ┃ ┃ System.out.println(s2);
┃┃ ┃ ┃ ┗
┃┃ ┃ ┃ }
┃┃ ┃ ┃ Variables variables = new Variables();
┃┃ ┃ ┃ System.out.println(variables.instanceVariable);
┃┃ ┃ ┃ System.out.println(TEXT);
┃┃ ┃ ┗
┃┃ ┃ }
┃┃ ┗
┃┃ public String instanceVariable;
┃┃ ┗━━━━━━━━━━━━━━━┛
┃┃ public Variables()
┃┃ {
┃┃ instanceVariable = "Instance variable test.";
┃┃ }
┃┃}
┃┗
┗
1. Una variable declarada en un método existe (es visible) desde el inicio de su declaración hasta el final del método.
2. Una variable declarada en un bloque de código existe hasta el final del bloque de código.
3. Los parámetros de un método existen en todas partes dentro del método.
4. Las variables en un objeto existen durante toda la vida útil del objeto que las contiene. Su visibilidad también está definida por modificadores de acceso especiales: público y privado .
5. Las variables estáticas (de clase) existen todo el tiempo que se ejecuta el programa. Su visibilidad también está definida por modificadores de acceso.
"Me encantan las fotos. Ayudan a aclarar todo".
"Buen chico, Amigo. Siempre supe que eras un tipo inteligente".
"También les voy a hablar de los ' modificadores de acceso '. No se asusten. No tienen nada de complicado. Aquí pueden ver las palabras público y privado ".
"No tengo miedo. Es solo que mi ojo está temblando".
"Le creo. Puede administrar cómo otras clases acceden a los métodos y variables de una clase (o son visibles para ellos). Puede asignar solo un modificador de acceso a cada método o variable.
1. modificador de acceso público .
Puede usar una variable, método o clase marcada con el modificador público desde cualquier parte del programa. Este es el nivel más alto de acceso, no hay limitaciones aquí.
2. modificador de acceso privado .
Puede usar una variable o un método marcado con el modificador privado solo desde la clase en la que está declarado. Para todas las demás clases, el método o la variable marcados serán invisibles, como si no existieran. Este es el nivel más alto de clausura: acceso solo dentro de su propia clase.
3. Sin modificador.
Si una variable o un método no está marcado con ningún modificador, se considera que está marcado con un modificador de acceso 'predeterminado'. Tales variables y métodos son visibles para todas las clases en el paquete en el que se declaran. Y solo para ellos. Este nivel de acceso a veces se denomina acceso ' paquete-privado ', ya que el acceso a las variables y métodos está abierto para todo el paquete que contiene su clase.
Aquí hay una tabla que resume lo que hemos discutido:"
modificadores | Acceso desde… | ||
---|---|---|---|
clase propia | Paquete propio | Cualquier clase | |
privado | Sí | No | No |
Sin modificador ( paquete-privado ) | Sí | Sí | No |
público | Sí | Sí | Sí |
GO TO FULL VERSION