| Creación de un Televisor estándar |
| Paso 14: La palabra reservada static |
La Máqina Virtual Java divide su espacio de memoria asignado por el sistema operativo de la siguiente forma

- Montículo
(heap)
- aquí se alojan las instancias de las Clases
- pila (stack)
- aquí se alojan
- los datos primitivos
- la MVJ tiene un acceso más rápido a los datos primitivos si están en la pila que si estuvieran en el montículo
- un valor entero
- puede ser primitivo de tipo int
- o puede ser un Objeto de tipo Integer
- cuando realicemos operaciones matemáticas, éstas se ejecutarán con mayor rapidez si los tipos son primitivos
- las variables de referencia
- zona static
- aquí se alojan aquellas Clases que contienen al menos una variable de Clase estática o un método de Clase estático
- hay ocasiones en las que se necesita definir un miembro de una Clase que será utilizado independientemente de cualquier Objeto de esa Clase
- es posible crear un miembro que pueda ser utilizado por sí mismo sin referirse a una instancia específica
- cuando se declara un miembro como static, se puede acceder a él antes de que se haya creado ningún Objeto de esa Clase
- el ejemplo más común de un miembro static es el método main(...), que es invocado por la MVJ antes de que exista ningún Objeto de la aplicación en el montículo
- las variables de instancia declaradas como static se pueden considerar como variables globales de una Clase
- cuando se crean instancias de una Clase que contienen una variable de Clase static, la MVJ no realiza una copia de esta variable en el montículo
- esta variable se encuentra alojada en la zona static y la comparten por igual todas las instancias de esa Clase
- los miembros declarados como static tienen algunas restricciones
- sólo pueden hablar con otros miembros static
- no se pueden utilizar las referencias this ni super