A statinis metodas priklauso klasei, o nestatinis metodas priklauso klasės objektui. Statinius metodus galima pasiekti tiesiogiai iš klasės, o nestatinius metodus (arba egzempliorių metodus, kaip aš mėgstu juos vadinti) reikia pasiekti iš egzemplioriaus.
Kada metodas turėtų būti statinis, o ne nestatinis?
A statinis metodas priklauso pačiai klasei, o nestatinis (dar žinomas kaip egzempliorius) metodas priklauso kiekvienam objektui, kuris yra sugeneruotas iš tos klasės. Jei jūsų metodas atlieka tai, kas nepriklauso nuo individualių jo klasės savybių, padarykite jį statinį (tai sumažins programos pėdsaką).
Kada naudotumėte nestatinį metodą?
Nestatinis Java metodas gali pasiekti statinius metodus ir kintamuosius taip:
- Nestatinis metodas gali pasiekti bet kurį statinį metodą nesukūręs klasės egzemplioriaus.
- Nestatinis metodas gali pasiekti bet kurį statinį kintamąjį nesukūręs klasės egzemplioriaus, nes statinis kintamasis priklauso klasei.
Kada naudoti statines funkcijas?
Kai norite turėti kintamąjį, kuris visada turėtų tą pačią reikšmę kiekvienam klasės objektui, amžinai ir amžinai, padarykite jį statiniu. Jei turite metodą, kuriame nenaudojami jokie egzempliorių kintamieji ar egzempliorių metodai, tikriausiai turėtumėte jį padaryti statinį.
Kuo skiriasi statinis ir nestatinis laukas?
Statiniai kintamieji arba laukai priklauso klasei, o ne jokiam jos objektui. Statinis kintamasis inicijuojamas, kai klasė įkeliama vykdymo metu. Nestatiniai laukai yra objekto egzempliorių laukai. Juos galima pasiekti arba iškviesti tik naudojant objekto nuorodą.