logo

Staattinen menetelmä vs. ilmentymämenetelmä Javassa

Javassa menetelmät määrittelevät luokkien ja objektien käyttäytymisen. Staattisten menetelmien ja ilmentymämenetelmien välisen eron ymmärtäminen on välttämätöntä puhtaan ja tehokkaan koodin kirjoittamiseksi.

Mikä on staattinen menetelmä?

A staattinen menetelmä kuuluu luokkaan eikä mihinkään tiettyyn objektiin.

kromi osoitepalkki
  • Voidaan kutsua luomatta luokan esiintymää.
  • Koska staattiset menetelmät ovat mikä tahansa objektikohtaisia, ne voivat käyttää vain staattisia jäseniä (dataa ja menetelmiä) eivätkä ei-staattisia jäseniä.
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();  } } 

Lähtö
Hello Geek! Hello Geek! 

Selitys: Yllä oleva esimerkki näyttää staattisen menetelmän greet() Geeks-luokan sisällä staattisia menetelmiä voidaan kutsua luomatta objektia. Päämenetelmässä emme luo Geek-luokan objektia, kutsumme menetelmää suoraan luokan nimellä, joka on Geeks ja sitten tulostamme tulosteen.



Mikä on instanssimenetelmä?

An Instanssimenetelmä kuuluu esineeseen.

  • Luokasta on luotava esiintymä kutsua varten.
  • Voi käyttää ilmentymämuuttujia muita ilmentymämenetelmiä ja luokan staattisia jäseniä.
  • saada pääsy thisviite joka osoittaa nykyiseen kohteeseen.
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);  } } 

Lähtö
GeeksforGeeks 

Selitys: Yllä oleva esimerkki näyttää kuinka instanssimenetelmää käytetään Javassa. Luomme Test-luokan objektin ja kutsumme testimenetelmää arvon asettamiseksi ja sitten tulostamme tulosteen.

Ero staattisen menetelmän ja ilmentymämenetelmän välillä

Seuraavassa taulukossa luetellaan  suuria eroja staattisten menetelmien ja Javan ilmentymämenetelmien välillä.

Ominaisuudet

Staattinen menetelmä

Instanssimenetelmä

Määritelmä

Luotu käyttämällä staattista avainsanaa ja haettu luomatta objektia.

java hei maailma

Edellyttää luokkansa objektin kutsumista.

Pääsy

Käytä vain staattisia muuttujia ja menetelmiä.

Voi käyttää sekä staattisia että ilmentymän jäseniä.

this avainsana

Ei voi käyttää tämä avainsana staattisten menetelmien sisällä.

java skanneri luokka

Voi käyttää tätä avainsanaa viittaamaan nykyiseen objektiin.

Ohittaa

Ei tue ajonaikaista polymorfismia

Tukee ajonaikaista polymorfismia

Muistin varaus

Ladataan kerran per luokka

Jokaisella esineellä on oma kopionsa

js base64 purkaa


Luo tietokilpailu