1. Variables locales
Hablemos más seriamente sobre las variables. Pero esta vez no hablaremos de su estructura interna. En su lugar, nos centraremos en cómo las variables interactúan con el código donde se encuentran.
Todas las variables que se declaran dentro de los métodos se denominan variables locales . Una variable local existe solo en el bloque de código en el que se declara. O, para ser más precisos, existe desde el momento en que se declara hasta el final del bloque de código en el que se declara.
Para simplificar, consideremos un ejemplo:
Código | Visibilidad variable |
---|---|
|
|
Hablemos de acceder a las variables locales una vez más. Aquí hay un bloque de código que consta de llaves: podría ser el cuerpo de un método, el cuerpo de un bucle o simplemente un bloque de código para una declaración condicional. Una variable declarada en un bloque de código existe hasta el final de ese bloque de código.
Si una variable se declara en el cuerpo del ciclo, entonces existirá solo en el cuerpo del ciclo. Se crea y se destruye en cada iteración del ciclo.
Ejemplo:
Código | Visibilidad variable |
---|---|
|
|
Pudimos declarar una segunda variable local nombrada b
solo porque la primera b
variable no está visible en el bloque de código donde b
se declara la segunda variable.
2. Parámetros
Como dijimos antes, cada método puede tener variables que llamamos parámetros. ¿Qué pasa con su visibilidad y vida útil?
Todo es sencillo. Los parámetros se crean cuando la ejecución avanza en el método (es decir, cuando el código del método comienza a ejecutarse). Se eliminan cuando finaliza el método. Son visibles en todo el cuerpo del método.
Ejemplo:
Código | Visibilidad variable |
---|---|
|
|
Como dijimos anteriormente, args
es solo una variable cuyo tipo es una matriz de cadenas. Y como todos los parámetros, está disponible en todas partes dentro del cuerpo del método. Dicho esto, generalmente lo ignoramos en nuestros ejemplos.
3. Variables en una clase
Recordará de las lecciones del Nivel 1 que una clase puede tener métodos y variables. Los métodos a veces se denominan métodos de instancia y variables, variables o campos de instancia. Estos son en realidad sinónimos en Java.
¿Qué son las variables (o campos) de una clase?
Son variables que no se declaran en un método, sino en una clase.
Se puede acceder a ellos desde cualquier método (no estático) de una clase. En términos generales, las variables de instancia son variables compartidas por todos los métodos de una clase.
Ejemplo:
Código | Visibilidad variable |
---|---|
|
|
En este ejemplo, tenemos dos métodos: add()
y remove()
. El add()
método incrementa las variables de instancia sum
y count
, y el remove()
método disminuye las variables sum
y count
. Ambos métodos funcionan en variables de instancia compartidas.
Las variables locales existen mientras se ejecuta un método. Las variables de instancia de una clase existen dentro de un objeto de una clase mientras exista ese objeto. Aprenderá detalles sobre los objetos de una clase en el siguiente nivel.
4. Variables estáticas
Al igual que los métodos, las variables de una clase pueden ser estáticas o no estáticas. Los métodos estáticos solo pueden acceder a variables estáticas.
En el Nivel 11, analizaremos la estructura de variables y métodos estáticos y comprenderá las razones de estas restricciones.
Para hacer una variable estática (variable de clase), debe escribir la static
palabra clave en su declaración.
Las variables estáticas no están vinculadas a un objeto o instancia de la clase en la que se declaran. En cambio, pertenecen a la clase misma. Por eso existen aunque no se haya creado ni un solo objeto de la clase . Puede referirse a ellos desde otras clases usando una construcción como:
ClassName.variableName
Ejemplo:
Código | Visibilidad variable |
---|---|
|
|
En el ejemplo anterior, creamos una Storage
clase separada, movimos las variables count
y sum
dentro de ella y las declaramos static . Se puede acceder a las variables estáticas públicas desde cualquier método en un programa (y no solo desde un método).