Kluczowa różnica – statyczne vs ostateczne 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 znaczenia w zależności od zadań. Są one dostarczane przez język programowania i nie mogą być używane dla zmiennych zdefiniowanych przez użytkownika, metod, klas itp. Statyczny i końcowy to dwa słowa kluczowe w Javie. W tym artykule omówiono różnicę między statycznym a końcowym w Javie. Kluczową różnicą między static i final w Javie jest to, że static służy do definiowania składowej klasy, która może być używana niezależnie od dowolnego obiektu klasy, podczas gdy final służy do deklarowania zmiennej stałej lub metody, której nie można nadpisać, lub klasy, która nie mogą być dziedziczone.
Co 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 jest konieczne tworzenie obiektu do wywołania tej metody. Metodę można wywołać przy użyciu nazwy klasy. Zapoznaj się z poniższym programem.
Rysunek 01: Program Java ze zmiennymi statycznymi i statyczną metodą
Zgodnie z powyższym programem klasa A zawiera zmienną liczbową i metodę wyświetlania. Oba są członkami statycznymi. Dlatego nie jest konieczne tworzenie obiektu, aby uzyskać dostęp do zmiennej liczby i sposobu wyświetlania. Programista może bezpośrednio wpisać nazwę klasy, aby wydrukować numer i wywołać wyświetlanie metody. Nie ma więc potrzeby tworzenia instancji obiektu. Jeśli zmienna liczba i metoda wyświetlania są niestatyczne, powinien istnieć obiekt typu A.
Rysunek 02: Użycie bloku statycznego
Powyższy program zawiera blok statyczny i główną metodę. 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, zostaną one wykonane po kolei.
Co jest ostateczne w Javie?
W programie mogą występować zmienne różnych typów. Jeśli istnieje zmienna jako int x=1; później w programie ta wartość zmiennej może zostać zmieniona 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
Według powyższego programu x jest zmienną końcową. Ma przypisaną wartość 5. Nie można jej zmienić na inną, ponieważ jest zadeklarowana jako ostateczna. Java obsługuje programowanie obiektowe (OOP). Jednym z filarów OOP jest polimorfizm. Nadrzędny jest jeden rodzaj polimorfizmu. Klasa A ma metodę wyświetlania. Klasa B rozszerza klasę A i posiada własną metodę wyświetlania. Podczas tworzenia obiektu typu B i wywołania metody wyświetlania wyświetli „B” jako wynik. Metoda wyświetlania klasy A jest zastępowana przez metodę wyświetlania klasy B.
Jeżeli programista ma unikać zastępowania metody, może użyć ostatniego słowa kluczowego dla tej metody. Jeśli metoda wyświetlania w klasie A jest ostateczna, metoda wyświetlania w klasie B da błąd, ponieważ tej metody nie można nadpisać.
Rysunek 04: ostatnie słowo kluczowe w metodzie
Kolejnym filarem OOP jest dziedziczenie. Pomaga ponownie wykorzystać już istniejący kod. Nowa klasa może wykraczać poza istniejącą klasę i wykorzystywać elementy członkowskie danych i metody istniejącej klasy. Jeśli konieczne jest zaprzestanie 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. Gdy 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 końcowym w Javie?
Zarówno statyczne, jak i końcowe są słowami kluczowymi w Javie
Jaka jest różnica między statycznym a końcowym w Javie?
statyczny kontra 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 instancji 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łany innymi metodami statycznymi i ma dostęp tylko do statycznych członków klasy. | Ostateczne metody nie mogą być nadpisane. |
Klasa | |
Nie można utworzyć obiektu klasy statycznej. Zawiera tylko statyczne elementy członkowskie. | Ostateczna klasa nie może być dziedziczona przez inne klasy. |
Zablokuj | |
Słowo kluczowe static może być użyte w bloku. | Ostateczne słowo kluczowe nie jest używane z blokiem. |
Podsumowanie – statyczne vs końcowe w Javie
W tym artykule omówiono dwa słowa kluczowe w Javie, takie jak statyczne i końcowe. Różnica między static a final w Javie polega na tym, że static służy do definiowania elementu klasy, który może być używany niezależnie od dowolnego obiektu klasy, podczas gdy final służy do deklarowania zmiennej stałej lub metody, której nie można nadpisać lub klasy, która nie może być dziedziczone.