Método estático

Fiabilidad

¿Qué significa método estático?

En Java, un método estático es un método que pertenece a una clase y no a una instancia de una clase. El método es accesible a todas las instancias de una clase, pero a los métodos definidos en una instancia sólo puede acceder ese objeto de una clase.

Un método estático no forma parte de los objetos que crea, sino que forma parte de la definición de una clase. A diferencia de los métodos de instancia, un método estático es referenciado por el nombre de la clase y puede ser invocado sin crear un objeto de clase.

En términos más sencillos, son métodos que existen aunque aún no se haya construido ningún objeto y que no requieren un objeto de invocación.

Definición de método estático

Java permite a los desarrolladores definir métodos estáticos, que también están disponibles para todas las instancias de una clase.

En una instancia de una clase, los métodos estáticos no pueden acceder a las variables de una instancia ni a las que pertenecen a una clase. Sólo pueden acceder a campos estáticos y tienen que utilizar referencia a objetos.

Uso habitual de los métodos estáticos

El uso más habitual de los métodos estáticos es acceder a variables estáticas. Se accede a ellos mediante el nombre de la clase y un punto (.) seguido del nombre de un método. Se declaran con la palabra clave «static» al definir un método.

Se puede acceder a los métodos estáticos sin tener que crear un nuevo objeto. Un método estático sólo puede utilizar y llamar a otros métodos estáticos o a miembros de datos estáticos. Suele utilizarse para operar con argumentos de entrada (que siempre puede aceptar), realizar cálculos y devolver valores.

Los métodos estáticos suelen ser métodos de utilidad

Los métodos estáticos suelen ser métodos de utilidad que se encuentran en las clases System, Wrapper y Collections y que se utilizan porque pueden ser más eficientes. Pueden ser empleados por distintas clases sin tener que crear una instancia, lo que a veces puede marcar la diferencia.

Los métodos se crean como estáticos cuando el estado del objeto no afecta a su comportamiento, porque sólo dependen de sus propios parámetros.

Interfaces de Java 8

Los métodos estáticos también pueden definirse en interfaces en Java 8 y versiones posteriores. Para evitar errores, las clases de implementación no pueden sobrescribir los métodos estáticos de las interfaces.

Los métodos estáticos suelen ser preferibles cuando:

  • Todos los métodos de instancia deben compartir un fragmento específico de código (aunque aún podrías tener un método de instancia para eso).
  • Quieres llamar al método sin tener que crear una instancia de esa clase.
  • Debes asegurarte de que la clase de utilidad no se modifique nunca.
  • No quieres que se sobrescriba la definición de ese método.
  • Tu método no utiliza ninguna variable de instancia, y el código no depende de la creación de instancias.

Temas relacionados

Margaret Rouse
Technology Specialist
Margaret Rouse
Experta en tecnología

Margaret Rouse es una galardonada escritora técnica y profesora conocida por su habilidad para explicar temas técnicos complejos a una audiencia de negocios no técnica. Durante los últimos veinte años, sus explicaciones han aparecido en sitios web de TechTarget y ha sido citada como autoridad en artículos del New York Times, Time Magazine, USA Today, ZDNet, PC Magazine y Discovery Magazine. La idea de diversión de Margaret es ayudar a profesionales de TI y negocios a aprender a hablar los idiomas altamente especializados de cada uno. Si tienes una sugerencia para una nueva definición o cómo mejorar una explicación técnica,…