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