Método estático vs no estático
Un método es una serie de declaraciones que se llevan a cabo para realizar una tarea específica. Los métodos pueden tomar entradas y producir salidas. Los métodos estáticos y no estáticos son dos tipos de métodos presentes en los lenguajes de programación orientados a objetos. Un método estático es un método que está asociado con una clase. Un método que está asociado con un objeto se llama método no estático (instancia). En los lenguajes orientados a objetos, los métodos se utilizan como un mecanismo para operar con datos que se almacenan en objetos.
¿Qué es un método estático??
En la programación orientada a objetos, el método estático es un método que está asociado con una clase. Por lo tanto, los métodos estáticos no tienen la capacidad de operar en una instancia particular de una clase. Los métodos estáticos se pueden invocar sin usar un objeto de la clase que contiene el método estático. A continuación se muestra un ejemplo de la definición de un método estático en Java. La estática debe usarse al definir un método estático en Java.
clase pública MyClass vacío estático público MyStaticMethod () // código del método estáticoEl método estático definido anteriormente podría llamarse de la siguiente manera utilizando el nombre de la clase a la que pertenece.
MyClass.MyStaticMethod ();
Es importante tener en cuenta que los métodos estáticos solo pueden acceder a los miembros estáticos..
Qué es un método no estático?
Un método no estático o un método de instancia es un método que está asociado con un objeto en una clase. Por lo tanto, los métodos no estáticos se llaman utilizando un objeto de la clase en la que se define el método. Un método no estático puede acceder a miembros no estáticos, así como a miembros estáticos de una clase. En muchos lenguajes orientados a objetos (como C ++, C #, Java), cuando se llama un método no estático, el objeto que invocó el método se pasa como un argumento implícito (se llama la referencia 'this'). Por lo tanto, dentro del método, esta palabra clave se puede usar para referirse al objeto que llamó al método. A continuación se muestra un ejemplo de la definición de un método de instancia en Java..
clase pública MyClass vacío público MyInstanceMethod () // código del método de instancia
El método de instancia definido anteriormente podría llamarse de la siguiente manera utilizando un objeto de la clase a la que pertenece.
MyClass objMyClass = new MyClass ();
objMyClass.MyInstanceMethod ();
¿Cuál es la diferencia entre el método estático y no estático??
Los métodos estáticos son métodos que están asociados con una clase, mientras que los métodos no estáticos son métodos que están asociados con los objetos de una clase. Una clase debe crearse una instancia primero para invocar un método no estático, pero los métodos estáticos no tienen este requisito. Se pueden invocar simplemente usando el nombre de la clase que contiene el método estático. Otra diferencia importante es que un método no estático generalmente posee una referencia al objeto que llamó el método y se puede acceder usando esta palabra clave dentro del método. Pero esta palabra clave no se puede usar en métodos estáticos ya que no están asociados con un objeto en particular.