Variable de instancia vs variable local
Una variable de instancia es un tipo de variable que está presente en la programación orientada a objetos. Es una variable que se define en una clase, y cada objeto de esa clase contiene una copia separada de esa variable. Por otro lado, el uso de variables locales no se limita a lenguajes de programación orientados a objetos. Es una variable que solo se puede evaluar dentro de un bloque particular de código (e.gramo. función, bloque de bucle, etc.) en el que se define. Debido a esta razón, se dice que las variables locales tienen un alcance local.
¿Qué es una variable de instancia??
Las variables de instancia se utilizan en programación orientada a objetos para almacenar el estado de cada objeto en una clase. También se conocen como variables de miembros o variables de campo. Las variables de instancia se declaran sin usar la palabra clave estática en Java. Los valores almacenados en las variables de caso son exclusivos de cada objeto (cada objeto tiene una copia separada), y los valores almacenados en ellas representan el estado de ese objeto. El espacio para una variable de instancia se asigna en el montón, cuando ese objeto se asigna en el montón. Por lo tanto, las variables de instancia se mantienen en la memoria siempre que el objeto esté en vivo. Por ejemplo, el color de un automóvil es independiente del color de otro automóvil. Entonces el color de un objeto de automóvil se puede almacenar en una variable de instancia. En la práctica, las variables de instancia se declaran dentro de las clases y los métodos externos. Por lo general, las variables de instancia se declaran como privadas para que se pueda acceder solo dentro de la clase se declara.
¿Qué es una variable local??
Las variables locales son variables que tienen un alcance local, y se declaran dentro de un bloque de código específico. Las variables locales pueden verse como variables utilizadas por un método para almacenar su estado temporal. El alcance de una variable local se determina utilizando la ubicación que se declara la variable, y no se utilizan palabras clave especiales para este propósito. Por lo general, el acceso a una variable local está limitado dentro del bloque de código que se declara (i.mi. entre los aparatos ortopédicos de apertura y cierre de ese bloque de código). Las variables locales generalmente se almacenan en la pila de llamadas. Esto permitiría que las llamadas de funciones recursivas mantengan sus propias copias de las variables locales que se almacenen en espacios de dirección de memoria separados. Cuando el método termina su ejecución, la información sobre ese método se sale de la pila de llamadas, también destruyendo las variables locales que se almacenaron.
¿Cuál es la diferencia entre instancias variables y variables locales??
Las variables de instancia se declaran dentro de las clases de los métodos externos, y almacenan el estado de un objeto, mientras que las variables locales se declaran dentro de los bloques de código, y se utilizan para almacenar el estado de un método. Una variable de instancia está en vivo siempre que el objeto que contiene esa variable está en vivo, mientras que una variable local está en vivo durante la ejecución de ese método/ bloque de código. Se puede acceder a una variable de instancia (que se declara pública) dentro de la clase, mientras que solo se puede acceder a una variable local dentro del bloque de código que se declara. El uso de las variables de instancia solo se limita a la programación orientada a objetos, mientras que las variables locales no tienen tal limitación.