En Java los métodos definen el comportamiento de clases y objetos. Comprender la diferencia entre métodos estáticos y métodos de instancia es esencial para escribir código limpio y eficiente.
¿Qué es un método estático?
A método estático pertenece a la clase en lugar de a cualquier objeto específico.
- Se puede llamar sin crear una instancia de la clase.
- Dado que los métodos estáticos son específicos de cualquier objeto, solo pueden acceder a miembros estáticos (datos y métodos) y no pueden acceder a miembros no estáticos.
import java.io.*; class Geeks { // static method public static void greet() { System.out.println('Hello Geek!'); } public static void main(String[] args) { // calling the method directily greet(); // using the class name Geeks.greet(); } }
Producción
Hello Geek! Hello Geek!
Explicación: El ejemplo anterior muestra un método estático greet() dentro de la clase Geeks. Los métodos estáticos se pueden llamar sin crear un objeto. En el método principal, no estamos creando un objeto de la clase Geek, llamamos al método directamente por el nombre de la clase, que es Geeks, y luego imprimimos el resultado.
¿Qué es un método de instancia?
Un método de instancia pertenece a un objeto.
- Necesita crear una instancia de la clase para llamar.
- Puede acceder a variables de instancia, otros métodos de instancia y miembros estáticos de la clase.
- tener acceso a
thisreferencia que apunta al objeto actual.
import java.io.*; class Test { String n = ''; // Instance method public void test(String n) { this.n = n; } } class Geeks { public static void main(String[] args) { // create an instance of the class Test t = new Test(); // calling an instance method in the class 'Geeks' t.test('GeeksforGeeks'); System.out.println(t.n); } }
Producción
GeeksforGeeks
Explicación: El ejemplo anterior muestra cómo utilizar un método de instancia en Java. Estamos creando un objeto de la clase Test y llamando al método de prueba para establecer un valor y luego imprimimos el resultado.
Java ¡vaya conceptos!
Diferencia entre método estático y método de instancia
La siguiente tabla enumera los Principales diferencias entre los métodos estáticos y los métodos de instancia en Java.
Características | método estático comprobación nula en java | método de instancia |
|---|---|---|
Definición | Creado utilizando la palabra clave estática y recuperado sin crear un objeto. | Requiere que se invoque un objeto de su clase. |
Acceso | Acceda solo a variables y métodos estáticos. comparar en cadena | Puede acceder tanto a miembros estáticos como a miembros de instancia. |
| No puedo usar el este palabra clave dentro de métodos estáticos. | Puede utilizar la palabra clave this para hacer referencia al objeto actual. |
Anular | No admite polimorfismo en tiempo de ejecución | Admite polimorfismo en tiempo de ejecución |
Asignación de memoria | Cargado una vez por clase | Cada objeto tiene su propia copia. ¿Qué es jQuery? |