Turinys:

Ar Date objektas yra keičiamas Java?
Ar Date objektas yra keičiamas Java?

Video: Ar Date objektas yra keičiamas Java?

Video: Ar Date objektas yra keičiamas Java?
Video: #35 Mutable vs Immutable String in Java 2024, Gegužė
Anonim

A kintantis objektas yra tiesiog an objektas kurios po statybos gali pakeisti savo būseną. Pavyzdžiui, StringBuilder ir Data yra kintamus objektus , o eilutė ir sveikasis skaičius yra nekintantys objektų . Klasėje gali būti a kintantis objektas kaip laukas.

Taip pat ar Date klasė yra nekintama Java?

Data nėra nekintamas , turime sukurti gynybinę kopiją java . util. Data grąžinant nuorodą į šį egzemplioriaus kintamąjį. Sukurkime hipotetinį žmogų klasė kurios vieninteliai nariai yra vardas ir pavardė.

Vėliau kyla klausimas, kas yra nekintantis objektas Java? Nekintami objektai yra objektų kad nesikeičia. Jūs juos gaminate, tada negalite jų pakeisti. A Nekintamas Java objektas visi jo laukai turi būti vidiniai, privatūs galutiniai laukai. Jame neturi būti įdiegta jokių nustatytojų. Tam reikia konstruktoriaus, kuris paimtų kiekvieno lauko reikšmę.

Ar „Java“objektai gali keistis?

Nekintami objektai yra tiesiog objektų kurio valstybė ( objektų duomenys) negali pasikeisti po statybos. Pavyzdžiai nekintantys objektai iš JDK yra eilutė ir sveikasis skaičius. Keičiami objektai turėti laukus, kuriuos galima keisti, nekintantys objektai nėra laukų, kuriuos būtų galima pakeisti po objektas yra sukurtas.

Kaip padaryti, kad objektas būtų keičiamas Java?

Nekintama klasė Java

  1. Paskelbkite klasę kaip galutinę, kad jos nebūtų galima pratęsti.
  2. Padarykite visus laukus privačius, kad tiesioginė prieiga nebūtų leidžiama.
  3. Nepateikite kintamųjų nustatymo metodų.
  4. Padarykite visus keičiamus laukus galutinius, kad jo reikšmę būtų galima priskirti tik vieną kartą.
  5. Inicijuokite visus laukus naudodami konstruktorių, atliekantį giliąją kopiją.

Rekomenduojamas: