Diferencia entre variable de instancia y variable de clase

Variable de instancia : es básicamente una variable de clase sin un modificador estático y generalmente es compartida por todas las instancias de clase. En diferentes objetos, estas variables pueden tener diferentes valores. Están vinculados a una instancia de objeto particular de la clase, por lo tanto, el contenido de una variable de instancia es totalmente independiente de una instancia de objeto a otras.

Ejemplo:

class Taxes  
{  
   int count;  
   /*...*/  
}  

Variable de clase: es básicamente una variable estática que se puede declarar en cualquier lugar a nivel de clase con estática. En diferentes objetos, estas variables solo pueden tener un valor. Estas variables no están vinculadas a ningún objeto particular de la clase , por lo tanto, pueden compartirse entre todos los objetos de la clase.  

Ejemplo:

class Taxes  
{  
   static int count;  
   /*...*/  
}  

Diferencia tabular entre instancia y variable de clase :

Instancia variable

variable de clase

Es una variable cuyo valor es específico de la instancia y ahora se comparte entre las instancias.   Es una variable que define un atributo o propiedad específica para una clase.  
Estas variables no se pueden compartir entre clases. En cambio, solo pertenecen a una clase específica.   Estas variables se pueden compartir entre la clase y sus subclases. 
Por lo general, reserva memoria para los datos que necesita la clase.   Por lo general, mantiene un único valor compartido para todas las instancias de la clase, incluso si no existe ningún objeto de instancia de la clase.  
Generalmente se crea cuando se crea una instancia de la clase.   Generalmente se crea cuando el programa comienza a ejecutarse.  
Normalmente conserva los valores mientras exista el objeto.   Normalmente conserva los valores hasta que finaliza el programa.
Tiene muchas copias, por lo que cada objeto tiene su propia copia personal de la variable de instancia.  Tiene solo una copia de la variable de clase, por lo que se comparte entre diferentes objetos de la clase.  
Se puede acceder directamente llamando nombres de variables dentro de la clase.   Se puede acceder llamando con el nombre de la clase.  
Estas variables se declaran sin utilizar la palabra clave estática.   Estas variables se declaran utilizando la palabra clave static.  
Los cambios que se realizan en estas variables a través de un objeto no se reflejarán en otro objeto.   Los cambios que se realizan en estas variables a través de un objeto se reflejarán en otro objeto. 

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 *