Spisu treści:

Czy obiekt Date jest modyfikowalny w Javie?
Czy obiekt Date jest modyfikowalny w Javie?

Wideo: Czy obiekt Date jest modyfikowalny w Javie?

Wideo: Czy obiekt Date jest modyfikowalny w Javie?
Wideo: Java's SimpleDateFormat is a Disaster Waiting to Happen 2024, Listopad
Anonim

A zmienny obiekt jest po prostu obiekt który może zmienić swój stan po wybudowaniu. Na przykład StringBuilder i Data są zmienne obiekty , natomiast String i Integer są niezmienne przedmioty . Klasa może mieć zmienny obiekt jako pole.

Podobnie, czy klasa Date jest niezmienna w Javie?

Data nie jest niezmienny , musimy wykonać kopię obronną Jawa . wykorzystaj. Data pole podczas zwracania odwołania do tej zmiennej instancji. Stwórzmy hipotetyczną osobę klasa który ma imię i rodowód jako jedyni dwaj członkowie.

Następnie pojawia się pytanie, czym jest niezmienny obiekt w Javie? Obiekty niezmienne są przedmioty to się nie zmienia. Robisz je, a potem nie możesz ich zmienić. A Niezmienny obiekt Java musi mieć wszystkie swoje pola jako wewnętrzne, prywatne pola końcowe. Nie może wprowadzać żadnych ustawiaczy. Potrzebuje konstruktora, który pobiera wartość dla każdego pola.

W tym miejscu, czy obiekty są mutowalne w Javie?

Obiekty niezmienne są po prostu przedmioty czyj stan ( przedmioty dane) nie mogą ulec zmianie po zakończeniu budowy. Przykłady niezmienne obiekty z JDK to String i Integer. Zmienne obiekty posiadają pola, które można zmienić, niezmienne obiekty nie mają pól, które można zmienić po obiekt jest tworzone.

Jak sprawić, by obiekt był modyfikowalny w Javie?

Klasa niezmienna w Javie

  1. Zadeklaruj klasę jako ostateczną, aby nie można było jej przedłużyć.
  2. Ustaw wszystkie pola jako prywatne, aby bezpośredni dostęp nie był dozwolony.
  3. Nie podawaj metod ustawiających dla zmiennych.
  4. Ustaw wszystkie pola modyfikowalne jako ostateczne, aby ich wartość można było przypisać tylko raz.
  5. Zainicjuj wszystkie pola za pomocą konstruktora wykonującego głębokie kopiowanie.

Zalecana: