logo

Statična metoda v Javi s primeri

Ključna beseda static se uporablja za konstruiranje metod, ki bodo obstajale ne glede na to, ali so ustvarjeni primerki razreda ali ne. Vsaka metoda, ki uporablja ključno besedo static, se imenuje statična metoda.

Značilnosti statične metode:



  • Statična metoda v Javi je metoda, ki je del razreda in ne primerek tega razreda.
  • Vsak primerek razreda ima dostop do metode.
  • Statične metode imajo dostop do spremenljivk razreda (statične spremenljivke) brez uporabe predmeta (primerka) razreda.
  • Samo do statičnih podatkov je mogoče dostopati s statično metodo. Ne more dostopati do podatkov, ki niso statični (spremenljivke primerka).
  • Pri statičnih in nestatičnih metodah je do statičnih metod mogoče dostopati neposredno.

Sintaksa za deklaracijo statične metode:

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

Ime razreda se lahko uporablja za priklic ali dostop do statičnih metod.

Sintaksa za klic statične metode:



className.methodName();>

Primer 1: statična metoda nima dostopa do spremenljivke primerka

JVM najprej zažene statično metodo, čemur sledi izdelava primerkov razreda. Ker pri uporabi statične metode noben objekt ni dostopen. Statična metoda nima dostopa do spremenljivk primerka. Zaradi tega statična metoda ne more dostopati do spremenljivke primerka razreda.

Java






kaj je rom
// 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();> >}> }>

>

>

niz v jsonobject
Izhod

40 50 40>

Primer 2: Pri statičnih in nestatičnih metodah se do statičnih metod dostopa neposredno.

Java




// 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();> >}> }>

izvajanje skriptov v linuxu
>

java vrednost enum

>

Izhod

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

Zakaj uporabljati statične metode?

  1. Za dostop in spreminjanje statičnih spremenljivk in drugih statičnih metod, ki ne temeljijo na predmetu.
  2. Pomožni in pomožni razredi pogosto uporabljajo statične metode.

Omejitve pri statičnih metodah:

  1. Nestatičnih podatkovnih članov ali nestatičnih metod ni mogoče uporabiti s statičnimi metodami in statične metode ne morejo klicati nestatičnih metod neposredno.
  2. V statičnem okolju tega in super ni dovoljeno uporabljati.

zakaj je glavna metoda v Javi statično?

To je zato, ker objekt ne potrebuje klicanja statične metode. Če bi šlo za nestatično funkcijo, bi JVM najprej zgradil objekt, preden bi poklical metodo main(), kar bi povzročilo dodatne težave pri dodeljevanju pomnilnika.

Razlika med statično metodo in metodo primerka

Metode primerkov

Statične metode

Zahteva objekt razreda. Ne zahteva predmeta razreda.
Lahko dostopa do vseh atributov razreda. Dostopa lahko samo do statičnega atributa razreda.
Do metod je mogoče dostopati le z uporabo reference na objekt. Do metode lahko dostopate samo z imenom razreda.
Sintaksa: Objref.methodname() Sintaksa: className.methodname()
To je primer programiranja po vrednosti. Je primer programiranja prehoda po sklicu.