Declarar variables de forma global o local | Java

En Java podemos declarar variables de forma global o local y cada una será usada de manera distinta en el sistema.

Variable Global

  • Declaradas fuera de métodos y funciones.
  • Única y exclusivamente se usa si realmente va a ser necesaria en toda la clase, es decir en los métodos y funciones que declaremos.
  • Está variable va a estar cargada en memoria durante el uso de la clase y por lo tanto no saldrá del alcance, por lo que el recolector de basura (GB) no la eliminará de memoria.
  • En gran cantidad de código puede ser un problema depurar y encontrar errores ya que puede haberse cambiado el estado de manera no intencionada la variable en algún método o función en el que utilicemos.
public class Example{
    private int a;

    public int sum(int b, int c){
        a = b + c;
        return a;
    }
}

Variable Local

  • Declarada en métodos y funciones
  • La variable se carga al llamar el método, tan pronto como termine la ejecución del código la variable pasa a estar fuera de alcance por lo que es elegible para el recolector de basura.
  • Fácil de depurar y encontrar errores ya que la modificación a alteración de la misma se encuentra en el método.
public class Example{

    public int sum(int b, int c){
        int a = b + c;
        return a;
    }
}

Conclusión

Aquí vemos dos ejemplos de cómo se usa una variable local y una global, en este caso como podemos ver para el ejemplo el código no está optimizado ya que podríamos hacer los siguiente:
public int sum(int b, int c){
    return b + c;
}
Pero para el ejemplo no optimizamos el código, en el primer caso la variable a va a estar presente mientras la clase Example este instanciada desde otra clase, por lo tanto va a estar en memoria y en el segundo caso sólo declaramos dentro de la función, una vez que llamemos sum se va a alojar en memoria y una vez termine la ejecución del bloque de código se hace elegible para el recolector de basura.

Este es un ejemplo bastante básico, por lo tanto es mejor tratar de utilizar variables lo más local posible, tanto por optimización como por facilidad de depuración a la hora de encontrar errores en una gran cantidad de código.

Comentarios

Entradas populares