logo

Mètode estàtic a Java amb exemples

La paraula clau estàtica s'utilitza per construir mètodes que existiran independentment de si es generen o no instàncies de la classe. Qualsevol mètode que utilitzi la paraula clau estàtica es coneix com a mètode estàtic.

Neena Gupta

Característiques del mètode estàtic:



  • Un mètode estàtic a Java és un mètode que forma part d'una classe en lloc d'una instància d'aquesta classe.
  • Cada instància d'una classe té accés al mètode.
  • Els mètodes estàtics tenen accés a variables de classe (variables estàtiques) sense utilitzar l'objecte de la classe (instància).
  • Només es pot accedir a dades estàtiques mitjançant un mètode estàtic. No pot accedir a dades que no siguin estàtiques (variables d'instància).
  • Tant en mètodes estàtics com no estàtics, es pot accedir directament als mètodes estàtics.

Sintaxi per declarar el mètode estàtic:

Access_modifier static void methodName() { // Method body. }>

El nom de la classe es pot utilitzar per invocar o accedir a mètodes estàtics.

Sintaxi per cridar un mètode estàtic:



className.methodName();>

Exemple 1: el mètode estàtic no té accés a la variable d'instància

La JVM executa primer el mètode estàtic, seguit de la creació d'instàncies de classe. Perquè no hi ha objecte accessible quan s'utilitza el mètode estàtic. Un mètode estàtic no té accés a variables d'instància. Com a resultat, un mètode estàtic no pot accedir a la variable d'instància d'una classe.

Java

mergesort java






// Java program to demonstrate that> // The static method does not have> // access to the instance variable> > import> java.io.*;> > public> class> GFG {> >// static variable> >static> int> a =>40>;> > >// instance variable> >int> b =>50>;> > >void> simpleDisplay()> >{> >System.out.println(a);> >System.out.println(b);> >}> > >// Declaration of a static method.> >static> void> staticDisplay()> >{> >System.out.println(a);> >}> > >// main method> >public> static> void> main(String[] args)> >{> >GFG obj =>new> GFG();> >obj.simpleDisplay();> > >// Calling static method.> >staticDisplay();> >}> }>

>

>

llista d'usuaris mysql
Sortida

40 50 40>

Exemple 2: tant en mètodes estàtics com no estàtics, s'accedeix directament als mètodes estàtics.

Java




què és l'ou de Pasqua d'Android
// Java program to demonstrate that> // In both static and non-static methods,> // static methods are directly accessed.> > import> java.io.*;> > public> class> StaticExample {> > >static> int> num =>100>;> >static> String str =>'GeeksForGeeks'>;> > >// This is Static method> >static> void> display()> >{> >System.out.println(>'static number is '> + num);> >System.out.println(>'static string is '> + str);> >}> > >// non-static method> >void> nonstatic()> >{> >// our static method can accessed> >// in non static method> >display();> >}> > >// main method> >public> static> void> main(String args[])> >{> >StaticExample obj =>new> StaticExample();> > >// This is object to call non static function> >obj.nonstatic();> > >// static method can called> >// directly without an object> >display();> >}> }>

>

k algorisme del veí més proper

>

Sortida

static number is 100 static string is GeeksForGeeks static number is 100 static string is GeeksForGeeks>

Per què utilitzar mètodes estàtics?

  1. Per accedir i canviar variables estàtiques i altres mètodes estàtics no basats en objectes.
  2. Les classes d'utilitat i d'assistència sovint utilitzen mètodes estàtics.

Restriccions en mètodes estàtics:

  1. Els mètodes estàtics no poden utilitzar els membres de dades no estàtics ni els mètodes no estàtics, i els mètodes estàtics no poden cridar mètodes no estàtics directament.
  2. En un entorn estàtic, això i super no es poden utilitzar.

Per què és el mètode principal de Java estàtica?

És perquè cridar un mètode estàtic no és necessari de l'objecte. Si es tractés d'una funció no estàtica, la JVM construiria primer un objecte abans de cridar al mètode main(), el que resultaria en una dificultat addicional d'assignació de memòria.

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

Mètodes d'instàncies

Mètodes estàtics

Requereix un objecte de la classe. No requereix cap objecte de la classe.
Pot accedir a tots els atributs d'una classe. Només pot accedir a l'atribut estàtic d'una classe.
Només es pot accedir als mètodes mitjançant la referència d'objectes. Només s'accedeix al mètode pel nom de la classe.
Sintaxi: Objref.methodname() Sintaxi: className.methodname()
És un exemple de programació de transmissió per valor. És un exemple de programació de pas per referència.