Definir el alcance de las variables.
Los parámetros de un método en una clase son conocidos como variables temporales. El valor y el nombre de estas variables expiran cuando el método llamado regresa el control al código que lo invocó. Cualquier variable definida en la lista de parámetros del método o dentro del cuerpo del método permanecen en memoria sólo lo que dura en ejecutarse el método llamado.
En java existen cuatro tipos de variables:
- Variables de Instancia (Campos No-Estáticos). Los objetos almacenan su estado individual en campos no-estáticos. Son declarados sin la palabra clave static. Sus valores son únicos para cada instancia u objeto.
- Variables de Clase (Campos Estáticos). Son campos declarados con el modificador static. Hay sólo una copia de esta variable para todas la instancias de la clase.
- Variables Locales. Es en donde los métodos de los objetos almacenan su estado temporal. Se declaran parecido a los campos. No existe una palabra clave para especificar que una variable es local sino que depende donde la variable es declarada: dentro de los corchetes que definen un método. Son accesibles sólo dentro del método que las declaró y no son accesibles del resto de la clase.
- Parámetros. Son las variables que conforman la firma de un método. Son siempre clasificados como variables y no como campos. También se encuentran en otras construcciones que aceptan parámetros como los son los constructores y manipuladores de excepciones.
Llamaremos campos a las variables de instancia y de clase. Llamaremos variables a las anteriores más las locales y parámetros. Un campo o field está disponible en memoria el tiempo que el objeto que la contiene permanezca en memoria. En java una variable local debe de ser declarada antes de ser usada.
El scope ó alcance de las variable se refiere en que lugar del programa una variable específica puede ser usada o referenciada. Por lo general las variables pueden ser usada dentro del bloque de instrucciones al que pertenecen y no fuera de estos. Un bloque se crea cada vez que tú abres y cierras corchetes ya sea para definir una clase, método o cualquier otra construcción que se verán más adelante. Más específicamente, el scope o alcance de una variable local abarca desde donde se declaró, hasta el corchete de cierre del bloque al que pertenecen El tiempo de vida de las variables depende del scope o alcance donde fueron declaradas. Sólo se puede declarar una vez una variable dentro de un bloque.
El alcance de los parámetros en un método, es todo el método completo. Las variables declaradas en la parte inicial de un ciclo for es el ciclo entero. Se puede declarar varias veces una variable local con el mismo nombre dentro de bloques no anidados dentro de un mismo método, pero es inválido declarar la variable local en bloques anidados.