Programación orientada a objetos: ¿cuál es la diferencia entre miembros de instancia y miembros estáticos?


Respuesta 1:

Los miembros de instancia solo se crean dentro de las instancias de clase. Estas instancias comienzan a existir cuando se declaran, o son creadas por "nuevo". Los miembros estáticos se crean en el momento en que el programa comienza a ejecutarse. Si son accesibles globalmente o no depende de su visibilidad. Si son públicos, todo lo que tiene que hacer un código para acceder a uno de ellos es especificar la clase y la variable que quiere cambiar, o de cuál de las cuales quiere obtener un valor. Si están protegidos o son privados, no son accesibles directamente fuera de la jerarquía de clases. El código fuera de la jerarquía de la clase que quiere acceso tiene que obtenerlo indirectamente a través de una función pública estática. La parte de la que no estoy seguro es si las instancias de clase tienen acceso más privilegiado a miembros estáticos protegidos o privados, si son de la misma clase. Me imagino que las instancias de clase derivadas probablemente tengan problemas para acceder a miembros estáticos privados, ya que los miembros privados no son accesibles fuera de la clase que los contiene.


Respuesta 2:

Variable de instancia: la variable de instancia se declara en una clase pero fuera de un método, constructor o cualquier bloque. Se les llama así porque sus valores son específicos de la instancia y no se comparten entre las instancias. Comprendamos esto con un ejemplo programático.

En el código anterior, 'color' es mi variable de instancia que tiene un valor "negro" asociado a tod itg.

Variable de clase: las variables de clase también se denominan variables estáticas. Estas variables tienen solo una copia que es compartida por todos los diferentes objetos en una clase. Además, se puede acceder directamente a estas variables por el nombre de la clase y no necesita ningún objeto. Comprendamos esto con un ejemplo programático.

Todos los autos deben tener 4 neumáticos, ¿verdad? Entonces, en mi código anterior, he declarado una variable estática como 'neumático' cuyo valor permanece igual en toda la clase.

Además, puede consultar el blog Tutorial de Java que lo ayudará a comprender los diversos fundamentos de Java en detalle con ejemplos.

¿Ansioso por aprender más? Puede consultar este video sobre clases Java que lo llevará a través de detalles detallados de clases Java y diferentes componentes clave en Java.

Espero que esto ayude ! :)


Respuesta 3:

Variable de instancia: la variable de instancia se declara en una clase pero fuera de un método, constructor o cualquier bloque. Se les llama así porque sus valores son específicos de la instancia y no se comparten entre las instancias. Comprendamos esto con un ejemplo programático.

En el código anterior, 'color' es mi variable de instancia que tiene un valor "negro" asociado a tod itg.

Variable de clase: las variables de clase también se denominan variables estáticas. Estas variables tienen solo una copia que es compartida por todos los diferentes objetos en una clase. Además, se puede acceder directamente a estas variables por el nombre de la clase y no necesita ningún objeto. Comprendamos esto con un ejemplo programático.

Todos los autos deben tener 4 neumáticos, ¿verdad? Entonces, en mi código anterior, he declarado una variable estática como 'neumático' cuyo valor permanece igual en toda la clase.

Además, puede consultar el blog Tutorial de Java que lo ayudará a comprender los diversos fundamentos de Java en detalle con ejemplos.

¿Ansioso por aprender más? Puede consultar este video sobre clases Java que lo llevará a través de detalles detallados de clases Java y diferentes componentes clave en Java.

Espero que esto ayude ! :)