Sisukord:

Kuidas saame muuta klassi Java-s kuupäevaväljaga muutumatuks?
Kuidas saame muuta klassi Java-s kuupäevaväljaga muutumatuks?

Video: Kuidas saame muuta klassi Java-s kuupäevaväljaga muutumatuks?

Video: Kuidas saame muuta klassi Java-s kuupäevaväljaga muutumatuks?
Video: Java tehniline kõne: Spring Boot ja GraphQl integratsioon. Kuidas seda lihtsaks teha? 2024, Aprill
Anonim

Me mõistame, mida need juhised tegelikult tähendavad, luues muutumatu klassi muutuva objektiga kuupäevaväljaga

  1. Ärge esitage määramismeetodeid – meetodeid, mis muudavad väljad või objektid viidatud väljad .
  2. Tegema kõik väljad lõplik ja privaatne.
  3. Ärge lubage alamklassidel meetodeid alistada.

Kuidas saame muuta klassi Javas muutumatuks?

Muutmatu klass Javas

  1. Tunnistada klass lõplikuks, et seda ei saaks pikendada.
  2. Muutke kõik väljad privaatseks, et otsejuurdepääs poleks lubatud.
  3. Ärge esitage muutujate jaoks seadistusmeetodeid.
  4. Muutke kõik muudetavad väljad lõplikuks, et selle väärtust saaks määrata ainult üks kord.
  5. Lähtestage kõik väljad sügava koopia teostava konstruktori kaudu.

Seejärel tekib küsimus, mis on Java muutumatu klassi kasu? Muutumatu klass tähendab, et kui objekt on loodud, ei saa me selle sisu muuta. sisse Java , kogu ümbris klassid (nagu täisarv, tõeväärtus, bait, lühike) ja string klass on muutumatu . Me saame luua oma muutumatu klass samuti.

Inimesed küsivad ka, kas Date klass on Javas muutumatu?

Kuupäev ei ole muutumatu , peame tegema kaitsekoopia java . util. Kuupäev välja, tagastades samal ajal viite sellele eksemplari muutujale. Loome hüpoteetilise inimese klass millel on ainsad kaks liiget nimi ja sünnikoht.

Kuidas me saame muuta objekti muutumatuks?

Objekti muutumatuks muutmiseks peate tegema järgmised toimingud:

  1. Ärge kasutage meetodeid, mis võivad teie klassi välju muuta. Näiteks ärge kasutage settereid.
  2. Vältige avalike mittelõplike väljade kasutamist. Kui teie väljad on avalikud, peate need deklareerima lõplikuks ja lähtestama need konstruktoris või otse deklaratsioonireal.

Soovitan: