Cada vez que se produce una instancia de una clase (es decir, se crea un objeto de esa clase), se desencadenan una serie de procesos (construcción del objeto) que dan lugar a la creación en memoria de un espacio físico que constituirá el objeto creado. De esta manera cada objeto tendrá sus propios miembros a imagen y semejanza de la plantilla propuesta por la clase.
or otro lado, podrás encontrarte con ocasiones en las que determinados miembros de la clase (atributos o métodos) no tienen demasiado sentido como partes del objeto, sino más bien como partes de la clase en sí (partes de la plantilla, pero no de cada instancia de esa plantilla). Por ejemplo, si creamos una clase Coche y quisiéramos disponer de un atributo con el nombre de la clase (un atributo de tipo String
con la cadena "Coche"), no tiene mucho sentido replicar ese atributo para todos los objetos de la clase Coche, pues para todos va a tener siempre el mismo valor (la cadena "Coche"). Es más, ese atributo puede tener sentido y existencia al margen de la existencia de cualquier objeto de tipo Coche. Podría no haberse creado ningún objeto de la clase Coche y sin embargo seguiría teniendo sentido poder acceder a ese atributo de nombre de la clase, pues se trata en efecto de un atributo de la propia clase más que de un atributo de cada objeto instancia de la clase.
Para poder definir miembros estáticos en Java se utiliza el modificador static
. Los miembros (tanto atributos como métodos) declarados utilizando este modificador son conocidos como miembros estáticos o miembros de clase. A continuación vas a estudiar la creación y utilización de atributos y métodos. En cada caso verás cómo declarar y usar atributos estáticos y métodos estáticos.
También conocido como método de clase. Un método estático en Java es un método asociado directamente a una clase más que una instancia (objeto) de la clase. El acceso a los métodos estáticos se realiza a través de la propia clase y no de una referencia a un objeto. De hecho no es necesario que exista ningún objeto de la clase para poder acceder a sus miembros estáticos.
También conocido como atributo de clase. Es un atributo asociado directamente a una clase más que una instancia (objeto) de la clase. El acceso a los atributos estáticos se realiza a través de la propia clase y no de una referencia a un objeto. De hecho no es necesario que exista ningún objeto de la clase para poder acceder a sus miembros estáticos (atributos o métodos).