logo

Zašto koristimo statičku klasu u Javi?

U Javi, statički je ključna riječ koja se može koristiti s varijablama, klasama, blokovima i metodama. Kada prije bilo koje od njih koristimo ključnu riječ static, to znači da navedeni član pripada samom tipu. Drugim riječima, instanca statičkog člana se stvara i dijeli među svim instancama klase.

U ovom ćemo odjeljku koristiti statički ključna riječ s Java klasa i također razumjeti zašto koristimo statičku klasu?

Java statička klasa

Klasu možemo deklarirati kao statičnu pomoću ključne riječi static. Klasa se može proglasiti statičnom samo ako je a ugniježđena klasa . Ne zahtijeva nikakvu referencu vanjske klase. Svojstvo statičke klase je da nam ne dopušta pristup nestatičkim članovima vanjske klase.

Da bismo razumjeli koncept statičke klase prvo moramo razumjeti koncept unutarnji, vanjski, i ugniježđeni razreda.

Unutarnja klasa

Pozivaju se klase koje su nestatične i ugniježđene unutarnje klase . Imajte na umu da ne možemo stvoriti instancu unutarnje klase bez stvaranja instance vanjske klase. Bez korištenja reference na vanjsku instancu klase, instanca unutarnje klase može pristupiti članovima svoje vanjske klase. Program čini jednostavnim i sažetim.

Vanjska klasa

Poziva se klasa u kojoj je definirana ugniježđena klasa vanjska klasa .

Ugniježđena klasa

Java omogućuje nam definiranje klase unutar klase koja je poznata kao a ugniježđena klasa . Može biti statičan ili nestatičan. Glavna razlika između statičke i nestatičke klase je da:

  • Instanca statičke ugniježđene klase može se stvoriti bez stvaranja instance njezine vanjske klase.
  • Statičkim i nestatičkim članovima vanjske klase može pristupiti unutarnja klasa.
  • Statičkim članovima vanjske klase može pristupiti samo statička klasa.

Zapamtiti

  • Sve statične klase su ugniježđene klase, ali obrnuto nije točno.
  • Može pristupiti samo statičkim članovima vanjske klase.
  • Nestatičkim varijablama i metodama instance ne može se pristupiti unutar statičke klase. Ako pokušate pristupiti nestatičkoj referenci iz statičkog polja, javlja se pogreška: Nije moguće napraviti statičku referencu na nestatičko polje.
  • Možemo stvoriti statičke blokove, varijable i metode unutar statičke klase.
  • Klasa može imati više statičkih klasa.
  • Ne možemo pristupiti statičkoj klasi ako je unutar statičkog bloka.
  • Može postojati bilo koji broj statičkih klasa unutar statičke klase.

Primjer Java statičke klase

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

Izlaz:

 Javatpoint 

Zašto koristimo statičku klasu u Javi?

U Javi se ključna riječ static prvenstveno koristi za upravljanje memorijom. Možemo koristiti ključnu riječ static s varijablama, metodama, blokovima i klasama. Korištenje statičke klase način je grupiranja klasa zajedno. Također se koristi za pristup primitivnom članu klase koja ga okružuje preko reference objekta. Statičke klase učitava classloader samo u vrijeme prve upotrebe, a ne kada se učitava klasa koja ih okružuje.