Diferencia entre variable de instancia y variable local

Una variable es un nombre dado a una ubicación de memoria. Es la unidad básica de almacenamiento en un programa.

  • El valor almacenado en una variable se puede cambiar durante la ejecución del programa.
  • Una variable es solo un nombre dado a una ubicación de memoria. Todas las operaciones se realizan sobre los efectos variables de una ubicación de memoria.
  • En Java, todas las variables deben declararse antes de su uso.

Variable de instancia: estas variables se declaran dentro de una clase pero fuera de un método, constructor o bloque y siempre obtienen un valor predeterminado.

  • Estas variables generalmente se crean cuando creamos un objeto y se destruyen cuando se destruye el objeto.
  • Podemos usar un especificador de acceso, por ejemplo, variable, y si no se especifica ningún especificador de acceso, se usa el especificador de acceso predeterminado.
  • Todos y cada uno de los objetos tendrán su propia copia de las variables de instancia.

Ejemplo:

class Taxes  
{  
   int count; // Count is an Instance variable  
   /*...*/  
}  

Variable local:  estas variables se declaran dentro de un método pero no obtienen ningún valor predeterminado.

  • Por lo general, se crean cuando ingresamos a un método o constructor y se destruyen después de salir del bloque o cuando la llamada regresa del método.
  • Su alcance generalmente se limita a un método y su alcance comienza desde la línea en que se declaran. Su alcance generalmente permanece allí hasta que llega la llave de cierre del método.
  • La inicialización de la variable local es obligatoria.

Ejemplo:

int area()      
{    
        int length = 10; // Local variable          
        int breadth = 5; // Local variable          
        int rectarea = length*breadth; // Local variable          
        return rectarea;          
}  

Diferencia tabular entre la variable de instancia y la variable local:

Instancia variable 

Variable local 

Se definen en clase pero fuera del cuerpo de métodos.   Se definen como un tipo de variable declarada dentro de bloques de programación o subrutinas. 
Estas variables se crean cuando se crea una instancia de un objeto y son accesibles para todos los constructores, métodos o bloques de la clase.  Estas variables se crean cuando se inicia un bloque, método o constructor y la variable se destruirá una vez que salga del bloque, método o constructor.
Estas variables se destruyen cuando se destruye el objeto.   Estas variables se destruyen cuando se sale del constructor o del método.
Se puede acceder durante toda la clase.   Su acceso está limitado al método en el que se declara.
Están acostumbrados a reservar memoria para los datos que necesita la clase y también durante la vida útil del objeto. Están acostumbrados a disminuir las dependencias entre componentes, es decir, se reduce la complejidad del código.
Estas variables reciben un valor predeterminado si no está asignado por código.        Estas variables no siempre tienen algún valor, por lo que debe haber un valor asignado por código.
No es obligatorio inicializar las variables de instancia antes de su uso.   Es importante inicializar las variables locales antes de su uso.
Incluye modificadores de acceso como privado, público, protegido, etc.   No incluye modificadores de acceso como privado, público, protegido, etc.

Publicación traducida automáticamente

Artículo escrito por madhurihammad y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *