Métodos, variables y bloques static en Java

Hola que tal, bienvenido a este nuevo artículo en donde aprenderás que son los Métodos, variables y bloques static en Java, así mismo realizaré algunos ejemplos con la finalidad que se entiendan de mejor manera.

Que cosas pueden ser static en Java?, básicamente la palabra static se puede aplicar a clases internas, a métodos, a variables y a bloques de código, a continuación voy ha describir que significa cada uno y como implementarlo con ejemplos.

Empecemos primero con las variables y los métodos static.

Artículos relacionados:  Cómo integrar Bootstrap con JSP y crear un proyecto Web en Java 8

¿Qué es una variable static en Java?

Una variable estática (static) en Java es una variable que pertenece a la clase en que fue declarada y se inicializa solo una vez al inicio de la ejecución del programa, la característica principal de este tipo de variables es que se puede acceder directamente con el nombre de la clase sin necesidad de crear un objeto, a continuación otros detalles que tiene una variable static en Java.

  • Es una variable que pertenece a la clase y no al objeto.
  • Las variables static se inicializan solo una vez, al inicio de la ejecución. Estas variables se inicializarán primero, antes de la inicialización de cualquier variable de instancia.

¿Qué es un Método static en Java?

Un método static en Java es un método que pertenece a la clase y no al objeto. Un método static solo puede acceder a variables o tipos de datos declarados como static.

  • Un método static sólo puede acceder a datos static. No puede acceder a datos no static (variables de instancia).
  • Un método static puede llamar solo a otros métodos static y no puede invocar un método no static a partir de él.
  • Un método static se puede acceder directamente por el nombre de la clase y no se necesita crear un objeto para acceder al método (aunque se puede hacerlo).
  • Un método static no puede hacer referencia a “this” o “super”.

Ejemplos de como crear Métodos, variables y bloques static en Java

Ahora vamos a crear un proyecto en Eclipse con la siguiente estructura:

Y luego copiar el código que se muestra abajo en la clase Ejecutor:

Si ejecutamos el proyecto podemos ver como la variable es compartida por todas las instancias de la clase Estudiante, es por eso que en la línea 16 al acceder al método mostrarInfo() con el objeto e2, la variable almacena el incremento tanto de la línea 11 que la ejecuta el objeto e1, como de la línea 13 que se la realiza accediendo desde la misma clase.

También si descomentamos las líneas 36, 37, 38 se puede ver que desde un método static no se puede llamar a una variable de instancia y que en el mismo IDE nos marca un error.

Bloques static en Java

El bloque static es un bloque de instrucción dentro de una clase Java que se ejecuta cuando una clase se carga por primera vez en la JVM. Básicamente un bloque static inicializa variables de tipo static dentro de una clase, al igual que los constructores ayudan a inicializar las variables de instancia, un bloque static inicializa las variables de tipo static en una clase.

Artículos relacionados: Patrones de diseño en Java: MVC, DAO y DTO

Para ver un ejemplo de como crear un bloque static vamos a crear una nueva clase con el nombre de Bloque.java y copiar el siguiente código.

Como podemos ver en este caso las variables static a y b se inicializan automáticamente puesto que el bloque static junto con las variables static es lo primero que carga la clase cuando se ejecuta.

Finalmente es importante recordar que en un bloque static sólo se puede inicializar variables de tipo static no variables de instancia.

Espero que este artículo haya sido de ayuda, cualquier inquietud me la puedes dejar en los comentarios.

Opt In Image
Programación Web Full Stack
Suscríbete ahora y recibe los mejores contenidos sobre Programación Web en tu correo.

Tus datos estarán protegidos y 100% libre de Spam

Full Stack Developer, JavaScript, PHP, Java, Spring, Laravel, Vuejs, Blogger, aprendiendo y compartiendo conocimientos. Cursos de Programación Web en: https://programacionfullstack.com/

Artículos Recomendados

2 Thoughts to “Métodos, variables y bloques static en Java con ejemplos”

  1. luis gonzalez

    Saludos, leyendo el libro de “Como programar en java de paul deitel”, dice lo siguiente sobre variables static: “En la sección 3.2 vimos que cada objeto de una clase mantiene su propia copia de cada variable de instancia de la clase. Hay variables para las que cada objeto de una clase no necesita su propia copia independiente (como veremos en breve). Dichas variables se declaran como static y también se conocen como variables
    de clase. Cuando se crean los objetos de una clase que contiene variables static , todos los objetos de esa clase comparten una copia de esas variables. En conjunto, las variables static y las variables de instancia de una clase se conocen como sus campos. En la sección 8.11 aprenderá más sobre los campos static .”

    Cuando dicen esto: “Cuando se crean los objetos de una clase que contiene variables static , todos los objetos de esa clase comparten una copia de esas variables.” ¿que quieren decir ellos? con “Todos los objetos de esa clase comparte una copia de esas variables”, significa que, N objetos creados de esa clase ven el mismo contenido de esa variable “static” y por ende digamos que están conectados(no se si es correcta la aseveración), o que cada objeto tiene su propia copia, que solo el puede manipular¿?

    1. Correcto… Cuando tenemos variables de tipo static estás son compartidas por todos los objetos de esa clase. Por lo genera este tipo de clases no se instancian objetos si no más bien se usa de la forma Clase.variable.

      Saludos

Dejar un Comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.