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.