logo

Kodėl „Java“ naudojame statinę klasę?

Java, statinis yra raktinis žodis, kurį galima naudoti su kintamaisiais, klasėmis, blokais ir metodais. Kai prieš bet kurį iš jų naudojame statinį raktinį žodį, tai reiškia, kad nurodytas narys priklauso pačiam tipui. Kitaip tariant, statinio nario egzempliorius sukuriamas ir bendrinamas visuose klasės egzemplioriuose.

Šiame skyriuje mes naudosime statinis raktinis žodis su Java klasė ir taip pat suprasti kodėl mes naudojame statinę klasę?

Java statinė klasė

Klasę galime paskelbti statine naudodami statinį raktinį žodį. Klasė gali būti paskelbta statine tik tada, kai ji yra a įdėta klasė . Tam nereikia jokios išorinės klasės nuorodos. Statinės klasės savybė yra ta, kad ji neleidžia mums pasiekti nestatinių išorinės klasės narių.

Norėdami suprasti statinės klasės sąvoką, pirmiausia turime suprasti sąvoką vidinis, išorinis, ir įdėtas klasė.

Vidinė klasė

Klasės, kurios yra nestatinės ir įdėtos, vadinamos vidines klases . Atminkite, kad negalime sukurti vidinės klasės egzemplioriaus nesukūrę išorinės klasės egzemplioriaus. Nenaudojant nuorodos į išorinės klasės egzempliorių, vidinės klasės egzempliorius gali pasiekti savo išorinės klasės narius. Tai daro programą paprastą ir glaustą.

Išorinė klasė

Klasė, kurioje yra apibrėžta įdėta klasė, vadinama išorinė klasė .

Įdėta klasė

Java leidžia apibrėžti klasę klasėje, kuri žinoma kaip a įdėta klasė . Jis gali būti statinis arba nestatinis. Pagrindinis skirtumas tarp statinės ir nestatinės klasės yra tas, kad:

  • Statinės įdėtos klasės egzempliorius gali būti sukurtas nesukūrus išorinės klasės egzemplioriaus.
  • Statinius ir nestatinius išorinės klasės narius gali pasiekti vidinė klasė.
  • Statinius išorinės klasės narius gali pasiekti tik statinė klasė.

Prisiminti

  • Visos statinės klasės yra įdėtos klasės, bet atvirkščiai – netiesa.
  • Jis gali pasiekti tik statinius išorinės klasės narius.
  • Nestatinių kintamųjų ir egzempliorių metodų negalima pasiekti statinėje klasėje. Jei bandote pasiekti nestatinę nuorodą iš statinio lauko, ji pateikia klaidą: Neįmanoma pateikti statinės nuorodos į nestatinį lauką.
  • Statinės klasės viduje galime sukurti statinius blokus, kintamuosius ir metodus.
  • Klasė gali turėti kelias statines klases.
  • Negalime pasiekti statinės klasės, jei ji yra statinio bloko viduje.
  • Statinėje klasėje gali būti bet koks statinių klasių skaičius.

Java statinės klasės pavyzdys

JavaStaticClassExample.java

 public class JavaStaticClassExample { private static String s= 'Javatpoint'; //Static and nested class static class StaticNestedClass { //non-static method of the nested class public void show() { //prints the string defined in base class System.out.println(s); } } public static void main(String args[]) { JavaStaticClassExample.StaticNestedClass obj = new JavaStaticClassExample.StaticNestedClass(); //invoking the method of the nested class obj.show(); } } 

Išvestis:

 Javatpoint 

Kodėl „Java“ naudojame statinę klasę?

Java programoje statinis raktinis žodis pirmiausia naudojamas atminties valdymui. Statinį raktinį žodį galime naudoti su kintamaisiais, metodais, blokais ir klasėmis. Naudojant statinę klasę, galima grupuoti klases. Jis taip pat naudojamas norint pasiekti primityvųjį įtraukiančiosios klasės narį per objekto nuorodą. Statines klases įkelia Classloader pirmą kartą panaudojus, tik ne tada, kai įkeliama uždaroji klasė.