Enums i inne typy specjalne

Writing /home/grochu/public_html/wiki/data/meta/zajecia/java/sidebar.meta failed
Unable to save metadata file. Hint: disk full; file permissions; safe_mode setting.
  • typ wyliczenniowy (enum) - specjalny typ danych reprezentujący skończony zbiór wartości, np. dni tygodnia, kolory, stany itp. Enums są typami bezpiecznymi i mogą mieć pola, metody oraz konstruktory.
  • interfejsy funkcyjne - interfejsy z dokładnie jedną metodą abstrakcyjną, używane w wyrażeniach lambda i referencjach do metod.
  • klasy anonimowe - klasy definiowane „w locie”, mające dokładnie jedną instancję, często używane do implementacji interfejsów lub klas abstrakcyjnych bez konieczności tworzenia osobnej klasy.
  • klasy wewnętrzne - klasy zdefiniowane wewnątrz innej klasy, mogą być statyczne lub niestatyczne, służą do grupowania logicznie powiązanych klas i mają dostęp do członków klasy zewnętrznej.
  • klasy lokalne - klasy zdefiniowane wewnątrz metody, dostępne tylko w obrębie tej metody, często używane do implementacji tymczasowych struktur danych lub logiki pomocniczej.
  • klasy rekordowe (record) - specjalny typ klasy wprowadzony w Javie 14, służący do przechowywania danych, automatycznie generujący konstruktor, metody equals(), hashCode() i toString().
  • klasy sealed - klasy, które ograniczają, które inne klasy mogą je rozszerzać, wprowadzony w Javie 15, służący do lepszego modelowania hierarchii klas i zapewnienia większej kontroli nad dziedziczeniem.
  • klasy final - klasy, które nie mogą być rozszerzane, służą do zapobiegania dziedziczeniu i zapewnienia bezpieczeństwa lub wydajności.

Enum

Enum pozwala definiowac zamkniety zestaw stalych. Oprocz samych wartosci enum moze miec pola, metody i konstruktory.

Przykład Enum:

enum Day {
    MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
}