¿Qué es un método estático?

Un método de programación informática orientado a objetos que se declara en una clase pero que no depende de ninguna instanciación particular de esa clase se denomina método estático. La mayoría de los lenguajes de programación incluyen la palabra clave static en la declaración de un método para hacer un método estático. Estos métodos pertenecen estrictamente a la clase en la que están contenidos y no a ningún objeto instanciado de esa clase. Con frecuencia se les conoce como Métodos de clase .

El nombre literal de la clase normalmente se usa para acceder a un método estático en lugar de referirse a él con el nombre de un objeto instanciado. Está permitido en Java usar nombres de objetos para referirse a estos métodos, pero está muy desanimado. Si se usa un nombre de objeto, una persona que lee el código puede confundir uno de estos métodos con un método de instancia.

Los métodos estáticos a menudo se usan en clases de utilidad que no dependen de las variables de instancia de ninguna clase en particular. También se usan cuando un programador necesitaAcceda al método, pero no hay necesidad de instanciar la clase en la que está contenida. Las clases de utilidad normalmente no están instanciadas en objetos. Sería inusual que un método de utilidad tenga la necesidad de modificar la información del objeto. Un método de la clase java.lang.math, como pow (), sería un ejemplo de cómo se utilizaría este tipo de método en una clase de utilidad.

Los métodos de instancia pueden acceder directamente a variables de instancia, variables estáticas, métodos de instancia y métodos estáticos. Los métodos estáticos no pueden acceder directamente a las variables de instancia y los métodos de instancia. Debido a la naturaleza de los métodos de instancia que tienen un mejor acceso a los miembros de la clase que los métodos estáticos, los métodos de instancia son el tipo de métodos que normalmente se usan en las clases regulares.

Un inconveniente importante de los métodos estáticos ocurre durante la herencia cuando se usa el polimorfismo. Mientras el método estático principal no se declare final, el mismo niñoEl método estático se puede codificar en la clase infantil como si estuviera anulando. Esto se llama técnicamente escondite en lugar de anular porque un método estático no se puede anular.

Cuando se usa, si se accede al método estático principal utilizando el nombre de clase, se utilizará el método principal. Si se accede al método estático infantil anulado utilizando el nombre del objeto, se utilizará el método infantil anulado. El problema ocurre cuando un objeto infantil es elevado como padre. En este caso, una llamada al método estático infantil Upcast utilizará el método principal en lugar del método infantil esperado. Con el verdadero polimorfismo, el método infantil sería el activado después de un upcast.

OTROS IDIOMAS