Różnica między statycznym a ostatecznym w Javie

Autor: Laura McKinney
Data Utworzenia: 2 Kwiecień 2021
Data Aktualizacji: 15 Móc 2024
Anonim
Różnica między statycznym a ostatecznym w Javie - Technologia
Różnica między statycznym a ostatecznym w Javie - Technologia

Zawartość


Statyczne i końcowe oba są słowami kluczowymi używanymi w Javie. Dostęp do elementu statycznego można uzyskać przed utworzeniem obiektu klasy. Finał ma inny efekt, gdy zostanie zastosowany do klasy, metod i zmiennych. Główną różnicą między statycznym i końcowym słowem kluczowym jest to statyczny Słowo kluczowe jest używane do zdefiniowania elementu klasy, którego można używać niezależnie od dowolnego obiektu tej klasy. Finał Słowo kluczowe służy do deklarowania, zmiennej stałej, metody, której nie można zastąpić, i klasy, której nie można odziedziczyć.

  1. Wykres porównania
  2. Definicja
  3. Kluczowe różnice
  4. Wniosek

Wykres porównania

Podstawa do porównaniaStatycznyFinał
OdpowiedniStatyczne słowo kluczowe dotyczy zagnieżdżonej klasy statycznej, zmiennych, metod i bloku.Ostatnie słowo kluczowe dotyczy klasy, metod i zmiennych.
InicjalizacjaInicjalizacja zmiennej statycznej nie jest obowiązkowa w momencie jej deklaracji.Inicjalizacja ostatniej zmiennej jest obowiązkowa w momencie jej deklaracji.
ModyfikacjaZmienną statyczną można ponownie zainicjować.Ostatecznej zmiennej nie można ponownie zainicjować.
MetodyMetody statyczne mogą uzyskiwać dostęp tylko do statycznych elementów klasy i mogą być wywoływane tylko przez inne metody statyczne.Ostatecznych metod nie można odziedziczyć.
KlasaNie można utworzyć obiektu klas statycznych i zawiera on tylko elementy statyczne.Klasa ostateczna nie może być dziedziczona przez żadną klasę.
BlokBlok statyczny służy do inicjalizacji zmiennych statycznych.Ostatnie słowo kluczowe nie obsługuje takiego bloku.


Definicja statyki

Statyczne jest słowem kluczowym, stosowanym do klas, zmiennych, metod i bloków. Członkowie klasy, klasa i bloki mogą być statyczne za pomocą słowa kluczowego „static” przed nazwą odpowiednio członków klasy, klasy i bloków. Gdy członek klasy zostanie zadeklarowany jako statyczny, staje się globalny dla wszystkich innych członków klasy. Element statyczny klasy nie zajmuje pamięci na podstawie instancji, tzn. Wszystkie obiekty mają tę samą kopię elementu statycznego. Człon statyczny może być używany niezależnie od dowolnego obiektu tej klasy. Możesz uzyskać dostęp do statycznego elementu klasy przed utworzeniem jej obiektu. Najlepszym przykładem elementu statycznego jest metoda main (), która jest zadeklarowana jako statyczna, dzięki czemu można ją wywołać przed istnieniem dowolnego obiektu. Ogólna forma dostępu do statycznego elementu klasy:

class_name.static_member // uzyskiwanie dostępu do statycznego elementu klasy

W powyższym kodzie nazwa_klasy jest nazwą klasy, w której zdefiniowano członka statycznego. Element statyczny może być zmienną statyczną lub metodą statyczną


Zmienne statyczne:

  • Zmienna statyczna działa jak zmienna globalna dla wszystkich innych członków danych klasy.
  • Dostęp do zmiennej statycznej można uzyskać, zanim istnieje jakikolwiek obiekt klasy.
  • Dostęp do zmiennej statycznej można uzyskać za pomocą nazwy klasy, w której jest zdefiniowana, a następnie operatora kropki (.).

Metody statyczne:

  • Metoda statyczna może wywoływać tylko inne metody statyczne.
  • Metoda statyczna może uzyskać dostęp tylko do danych statycznych.
  • Metoda statyczna nie może być określana jako „to” lub „super” w żadnych warunkach.
  • Dostęp do metody statycznej można uzyskać za pomocą nazwy klasy, w której jest zdefiniowana, a następnie operatora kropki (.).

Klasa statyczna:

  • Java ma pojęcie zagnieżdżonej klasy statycznej. Najbardziej zewnętrzna klasa nie może być statyczna, podczas gdy najbardziej wewnętrzna klasa może być statyczna.
  • Statyczna klasa zagnieżdżona nie może uzyskać dostępu do niestatycznego elementu klasy zewnętrznej.
  • Może uzyskać dostęp tylko do statycznych członków klasy zewnętrznej.

Blok statyczny:

Blok statyczny jest wykonywany tylko raz, gdy klasa jest ładowana. Służy do inicjalizacji zmiennych statycznych klasy.

C ++:

W C ++ mamy pojęcie zmiennych statycznych, a także funkcji statycznych, natomiast C ++ nie obsługuje klasy statycznej.

DO#:

C # obsługuje również klasę statyczną, zmienne statyczne i klasę statyczną.

Jawa:

Java obsługuje statyczną klasę zagnieżdżoną, zmienne statyczne, metody statyczne.

Definicja finału

Final jest słowem kluczowym stosowanym do klasy, zmiennej i metod. Klasa, zmienna i metoda są deklarowane jako końcowe przy użyciu słowa kluczowego „final” poprzedzonego ich nazwą. Gdy zmienna zostanie zadeklarowana jako ostateczna; nie można go dalej modyfikować w programie. Ostateczna zmienna musi zostać zainicjowana w deklaracji czasu. Ostateczne zmienne nie zajmują pamięci dla poszczególnych instancji. Wszystkie obiekty klas dzielą tę samą kopię zmiennej końcowej.

Metoda zadeklarowana jako końcowa nie może zostać zastąpiona przez podklasę tej klasy, w której zadeklarowana jest metoda końcowa. Gdy klasa zostanie zadeklarowana jako ostateczna, inna klasa nie może odziedziczyć tej klasy ostatecznej. C ++, C # nie obsługują tej koncepcji, jeśli słowo kluczowe jest ostateczne. Java obsługuje koncepcję końcowego słowa kluczowego i w Javie; klasa, zmienna i metoda mogą być zadeklarowane jako ostateczne.

  1. Słowo kluczowe static ma zastosowanie do zagnieżdżonej klasy statycznej, zmiennych, metod i bloków. Z drugiej strony, ostatnie słowo kluczowe ma zastosowanie do metod i zmiennych klas.
  2. Zmienna statyczna może być inicjalizowana w dowolnym momencie, natomiast zmienna końcowa musi być inicjalizowana w momencie deklaracji.
  3. Zmienną statyczną można ponownie zainicjować, natomiast po zainicjowaniu nigdy nie można ponownie zainicjować zmiennej końcowej.
  4. Metoda statyczna może uzyskać dostęp do statycznego elementu klasy i może być wywołana tylko przez inne metody statyczne. Z drugiej strony, ostateczna metoda nigdy nie może być dziedziczona przez żadną klasę.
  5. Blok statyczny służy do inicjalizacji zmiennych statycznych, natomiast słowo kluczowe final nie obsługuje żadnego bloku.

Wniosek:

Zarówno statyczne, jak i końcowe słowo kluczowe ma inny cel, gdy jest stosowane do klasy, zmiennej i metody.