Jak stworzyć klasę niemutowalną w Javie?

Tworzenie niemutowalnych klas w Javie jest ważnym aspektem programowania, pozwalającym na tworzenie bezpiecznych i łatwych do zarządzania aplikacji. Niemutowalne obiekty, raz stworzone, nie mogą zmieniać swojego stanu, co czyni je idealnymi do użycia w środowiskach wielowątkowych i aplikacjach wymagających wysokiego poziomu niezawodności.

Definicja klasy niemutowalnej

Klasa niemutowalna w Javie powinna spełniać następujące kryteria:

  1. Wszystkie jej pola są oznaczone jako final.
  2. Klasa jest oznaczona jako final, aby zapobiec dziedziczeniu.
  3. Nie posiada setterów.
  4. Wszystkie pola, które są obiektami, są niemutable lub są zwracane jako kopie defensywne.

Przykład niemutowalnej klasy

Poniżej znajduje się przykład implementacji niemutowalnej klasy w Javie, reprezentującej prosty obiekt Person z dwoma polami: imieniem i nazwiskiem.

Wyjaśnienie kodu

  • Kluczowe słowo final dla klasy: Zapobiega dziedziczeniu po tej klasie, co jest kluczowe dla zachowania niemutowalności.
  • Pola final: Gwarantują, że wartości przypisane tym polom nie mogą być zmienione po utworzeniu obiektu.
  • Brak setterów: Eliminuje możliwość zmiany stanu obiektu po jego stworzeniu.
  • Metody dostępowe (getters): Zwracają wartości pól. W przypadku pól będących obiektami, powinny zwracać kopie defensywne, aby zapewnić niemutowalność.

Podsumowanie

Tworzenie niemutowalnych klas w Javie to praktyka, która znacząco przyczynia się do bezpieczeństwa i stabilności aplikacji. Klasy niemutowalne, takie jak pokazany przykład Person, są szczególnie przydatne w aplikacjach wielowątkowych, ponieważ eliminują problemy związane z dostępem współbieżnym do zmiennych.

Jeżeli chcesz przyśpieszyć swoją naukę tworzenia stron chciałbym polecić mój kurs video Java w którym nauczysz się tego języka od podstaw do zaawansowanych jego aspektów.

Scroll to Top