Alcance de variablesEl alcance de una variable indica la parte del programa donde puede utilizarse. En base al alcance, las variables se clasifican en:
Variables localesVariables de instanciaCada una de las variables anteriores puede ser estática o no.
Variables localesVariables de instanciaCada una de las variables anteriores puede ser estática o no.
Variables locales
Se declaran dentro de métodos o de instrucciones asociadas a bucles "for", estructuras condicionales, etc. Su alcance se restringe al código del método o de la instrucción. No admiten modificadores de acceso salvo "final" y deben estar inicializadas antes de ser empleadas.
Veamos este ejemplo:
Variables de instancia
Se declaran después de la clase y fuera de cualquier método. Los valores que asumen para cada objeto constituyen el estado o conjunto de atributos del objeto.Su alcance es global, es decir, las pueden utilizar directamente todos lo métodos no estáticos de la clase.
Para acceder desde el método "main" o desde cualquier otro método estático a una variable de instancia es necesario crear un objeto de la clase.
Al hecho de crear un objeto de una clase se le conoce también como instanciar la clase. Si no se inicializan explícitamente, asumen el valor nulo por defecto, una vez instanciada la clase.
Ejemplo:
Resultado:
Y las llamadas en la parte inferior del programa:
Si las variables de instancia no se inicial izan ex-plícitamente bien mediante un objeto de la clase bien en la misma línea donde se declaran, ¿qué ocurrirá?
Se mostrará el elemento nulo asociado a los valores iniciales de los diversos tipos de variables. Así, en las variables primitivas enteras (byte, short, int y long) dicho elemento nulo es 0, en las reales (float y double) es 0.0, en las booleanas es false y en las referenciadas (asociadas a objetos de clases) es null.
No hay comentarios:
Publicar un comentario