na Jawie, statyczny to słowo kluczowe, którego można używać ze zmiennymi, klasami, blokami i metodami. Kiedy przed którymkolwiek z nich użyjemy słowa kluczowego static, oznacza to, że określony element należy do samego typu. Innymi słowy, tworzona jest instancja statycznego elementu członkowskiego, która jest udostępniana wszystkim instancjom klasy.
W tej sekcji będziemy używać statyczny słowo kluczowe z Klasa Java i także zrozumieć dlaczego używamy klasy statycznej?
Klasa statyczna Java
Możemy zadeklarować klasę statyczną za pomocą słowa kluczowego static. Klasę można zadeklarować jako statyczną tylko wtedy, gdy jest to a klasa zagnieżdżona . Nie wymaga żadnego odniesienia do klasy zewnętrznej. Właściwość klasy statycznej polega na tym, że nie pozwala ona na dostęp do niestatycznych elementów klasy zewnętrznej.
Aby zrozumieć koncepcję klasy statycznej, najpierw musimy zrozumieć koncepcję wewnętrzny zewnętrzny, I zagnieżdżone klasa.
Wewnętrzna klasa
Wywoływane są klasy, które są niestatyczne i zagnieżdżone klasy wewnętrzne . Należy pamiętać, że nie możemy utworzyć instancji klasy wewnętrznej bez utworzenia instancji klasy zewnętrznej. Bez użycia odniesienia do instancji klasy zewnętrznej instancja klasy wewnętrznej może uzyskać dostęp do elementów swojej klasy zewnętrznej. Dzięki temu program jest prosty i zwięzły.
Klasa zewnętrzna
Wywołuje się klasę, w której zdefiniowano klasę zagnieżdżoną klasa zewnętrzna .
ciąg do rozmowy
Klasa zagnieżdżona
Jawa pozwala nam zdefiniować klasę w klasie, która jest znana jako a zagnieżdżona klasa . Może być statyczny lub niestatyczny. Główna różnica między klasą statyczną i niestatyczną polega na tym, że:
- Instancję statycznej klasy zagnieżdżonej można utworzyć bez tworzenia instancji jej klasy zewnętrznej.
- Dostęp do statycznych i niestatycznych elementów klasy zewnętrznej można uzyskać za pomocą klasy wewnętrznej.
- Dostęp do statycznych elementów klasy zewnętrznej może uzyskać tylko klasa statyczna.
Pamiętać
- Wszystkie klasy statyczne są klasami zagnieżdżonymi, ale odwrotnie nie jest prawdą.
- Może uzyskać dostęp tylko do statycznych elementów klasy zewnętrznej.
- W klasie statycznej nie można uzyskać dostępu do niestatycznych metod zmiennych i instancji. Jeśli spróbujesz uzyskać dostęp do niestatycznego odniesienia z pola statycznego, zgłosi błąd: Nie można utworzyć statycznego odniesienia do pola niestatycznego.
- Wewnątrz klasy statycznej możemy tworzyć statyczne bloki, zmienne i metody.
- Klasa może mieć wiele klas statycznych.
- Nie możemy uzyskać dostępu do klasy statycznej, jeśli znajduje się ona wewnątrz bloku statycznego.
- W klasie statycznej może znajdować się dowolna liczba klas statycznych.
Przykład klasy statycznej Java
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(); } }
Wyjście:
Javatpoint
Dlaczego używamy klasy statycznej w Javie?
W Javie słowo kluczowe static służy głównie do zarządzania pamięcią. Słowa kluczowego static możemy używać ze zmiennymi, metodami, blokami i klasami. Użycie klasy statycznej jest sposobem na grupowanie klas. Służy także do uzyskiwania dostępu do prymitywnego elementu klasy otaczającej poprzez odwołanie do obiektu. Klasy statyczne są ładowane przez moduł ładujący klasy w momencie pierwszego użycia, a nie podczas ładowania klasy otaczającej.