Kluczowa różnica - statyczna vs ostateczna w Javie
Każdy język programowania ma określoną składnię. Programista powinien przestrzegać tych składni podczas pisania programów. Słowa kluczowe języków programowania mają określone znaczenie w zależności od zadań. Są one dostarczane przez język programowania i nie można ich używać do zmiennych zdefiniowanych przez użytkownika, metod, klas itp. Statyczne i końcowe to dwa słowa kluczowe w Javie. W tym artykule omówiono różnicę między statycznym a ostatecznym w Javie. Kluczową różnicą między static i final w Javie jest to, że static jest używane do definiowania elementu członkowskiego klasy, którego można używać niezależnie od dowolnego obiektu klasy, podczas gdy final służy do deklarowania stałej zmiennej lub metody, której nie można zastąpić, lub klasy, której nie może być dziedziczona.
ZAWARTOŚĆ
1. Przegląd i kluczowe różnice
2. Co jest statyczne w Javie
3. Co jest ostateczne w Javie
4. Podobieństwa między statycznymi a ostatecznymi w Javie
5. Bezpośrednie porównanie - statyczne i końcowe w Javie w formie tabelarycznej
6. Podsumowanie
Co to jest statyczne w Javie?
Klasa składa się z członków danych (atrybutów) i metod. Aby wywołać metody, powinien istnieć obiekt tej konkretnej klasy. Gdy metoda jest zadeklarowana jako statyczna, nie ma potrzeby tworzenia obiektu w celu wywołania tej metody. Metodę można wywołać, używając nazwy klasy. Zapoznaj się z poniższym programem.
Rysunek 01: Program Java ze zmiennymi statycznymi i metodą statyczną
Zgodnie z powyższym programem klasa A zawiera zmienną liczbową i sposób wyświetlania. Oba są statycznymi członkami. Dlatego nie jest konieczne tworzenie obiektu, aby uzyskać dostęp do zmiennej liczbowej i metody wyświetlania. Programista może bezpośrednio wpisać nazwę klasy, aby wydrukować numer i wywołać metodę wyświetlania. Nie ma więc potrzeby tworzenia instancji obiektu. Jeśli zmienna liczbowa i metoda wyświetlania są niestatyczne, to powinien istnieć obiekt typu A.
Rysunek 02: Zastosowanie bloku statycznego
Powyższy program zawiera blok statyczny i metodę główną. Blok statyczny jest wywoływany podczas ładowania klasy. Dlatego instrukcja w bloku statycznym jest wykonywana przed instrukcją w bloku głównym. Jeśli istnieje wiele bloków statycznych, będą one wykonywane po kolei.
Co jest ostateczne w Javie?
W programie mogą znajdować się zmienne różnego typu. Jeśli istnieje zmienna taka jak int x = 1; w dalszej części programu tę wartość zmiennej można zmienić na inną wartość. Zmienna zadeklarowana jako ostateczna i zainicjowana wartością nie może być później zmieniona w programie.
Rysunek 03: Program z końcową zmienną i dziedziczeniem
Zgodnie z powyższym programem, x jest zmienną końcową. Jest przypisywana wartość 5. Nie można jej zmienić na inną wartość, ponieważ jest zadeklarowana jako ostateczna. Java obsługuje programowanie obiektowe (OOP). Jedną z filarów OOP jest polimorfizm. Jeden typ polimorfizmu jest nadrzędny. Klasa A ma metodę wyświetlania. Klasa B rozszerza klasę A i ma własną metodę wyświetlania. Podczas tworzenia obiektu typu B i wywoływania metody wyświetlania wydrukuje „B” jako wyjście. Metoda wyświetlania klasy A jest zastępowana przez metodę wyświetlania klasy B.
Jeśli programista, czego unikać nadpisywania metody, może użyć końcowego słowa kluczowego dla tej metody. Jeśli metoda wyświetlania w klasie A jest ostateczna, metoda wyświetlania w klasie B zwróci błąd, ponieważ tej metody nie można zastąpić.
Rysunek 04: ostatnie słowo kluczowe w metodzie
Innym filarem OOP jest dziedziczenie. Pomaga ponownie wykorzystać już istniejący kod. Nowa klasa może rozszerzać istniejącą klasę i używać elementów członkowskich danych oraz metod istniejącej klasy. Jeśli zachodzi potrzeba zaprzestania dziedziczenia klasy, programista może użyć słowa kluczowego „final”. Zapoznaj się z poniższym programem.
Rysunek 05: ostatnie słowo kluczowe w klasie
Zgodnie z powyższym programem klasa A jest deklarowana jako ostateczna. Kiedy klasa B rozszerza A, daje błąd, ponieważ klasa A jest zadeklarowana jako ostateczna. Nie może być dziedziczona przez inne klasy.
Jakie jest podobieństwo między statycznym a ostatecznym w Javie?
Zarówno static, jak i final to słowa kluczowe w Javie
Jaka jest różnica między statycznym a ostatecznym w Javie?
Porównaj środek artykułu przed tabelą
statyczny vs końcowy w Javie |
|
Słowo kluczowe statyczne oznacza, że można uzyskać dostęp do zmiennej lub metody składowej bez konieczności tworzenia wystąpienia klasy, do której należy. | Ostatnie słowo kluczowe oznacza jednostkę, którą można przypisać tylko raz. |
Zmienne | |
Zmienne statyczne można ponownie zainicjować. | Ostatecznych zmiennych nie można ponownie zainicjować. |
Metody | |
Może być wywoływana przez inne metody statyczne i ma dostęp tylko do statycznych elementów członkowskich klasy. | Ostatnich metod nie można zastąpić. |
Klasa | |
Nie można utworzyć obiektu klasy statycznej. Zawiera tylko statyczne elementy członkowskie. | Ostatnia klasa nie może być dziedziczona przez inne klasy. |
Blok | |
Słowo kluczowe static może być użyte w bloku. | Ostatnie słowo kluczowe nie jest używane z blokiem. |
Podsumowanie - statyczny vs finał w Javie
W tym artykule omówiono dwa słowa kluczowe w Javie, takie jak static i final. Różnica między static i final w Javie polega na tym, że static służy do definiowania elementu członkowskiego klasy, którego można używać niezależnie od dowolnego obiektu klasy, podczas gdy final służy do deklarowania stałej zmiennej lub metody, której nie można zastąpić, lub klasy, której nie można być dziedziczone.