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ä.
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.
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ä. |
| 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 |