logo

Mètode estàtic vs mètode d'instància a Java

En Java, els mètodes defineixen el comportament de les classes i els objectes. Comprendre la diferència entre els mètodes estàtics i els mètodes d'instància és essencial per escriure codi net i eficient.

Què és un mètode estàtic?

A mètode estàtic pertany a la classe en lloc de qualsevol objecte específic.

  • Es pot cridar sense crear una instància de la classe.
  • Com que els mètodes estàtics són específics de qualsevol objecte, només poden accedir als membres estàtics (dades i mètodes) i no poden accedir als membres no estàtics.
Java
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();  } } 

Sortida
Hello Geek! Hello Geek! 

Explicació: L'exemple anterior mostra un mètode estàtic greet() dins de la classe Geeks. Els mètodes estàtics es poden cridar sense crear un objecte. En el mètode principal no estem creant un objecte de la classe Geek, estem cridant el mètode directament pel nom de classe que és Geeks i després estem imprimint la sortida.



Què és un mètode d'instància?

An Mètode d'instància pertany a un objecte.

  • Cal crear una instància de la classe per trucar.
  • Pot accedir a variables d'instància altres mètodes d'instància i membres estàtics de la classe.
  • Tenir accés a thisreferència que apunta a l'objecte actual.
Java
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);  } } 

Sortida
GeeksforGeeks 

Explicació: L'exemple anterior mostra com utilitzar un mètode d'instància a Java. Estem creant un objecte de la classe Test i cridant al mètode de prova per establir un valor i després estem imprimint la sortida.

Diferència entre el mètode estàtic i el mètode d'instància

La taula següent enumera els  diferències importants entre els mètodes estàtics i els mètodes d'instància a Java.

listnode java

Característiques

Mètode estàtic

Mètode d'instància

Definició

Creat amb la paraula clau estàtica i recuperat sense crear cap objecte.

centos vs redhat

Requereix que s'invoqui un objecte de la seva classe.

Accés

Accedeix només a variables i mètodes estàtics.

Pot accedir tant a membres estàtics com a membres d'instància.

this paraula clau

No es pot utilitzar el això paraula clau dins dels mètodes estàtics.

pitó camelcase

Pot utilitzar la paraula clau this per referir-se a l'objecte actual.

Anul·lació

No admet polimorfisme en temps d'execució

Admet polimorfisme en temps d'execució

Assignació de memòria

Es carrega una vegada per classe

Cada objecte té la seva pròpia còpia

substitució de js


Crea un qüestionari