Junior — Middle
Kas saaksite selgitada, mis on muutumatu klass Java-s ja kuidas see luuakse?
sobes.tech AI
Vastus AI-lt
Java-s muutumatuna klassina on klass, mille objektid ei saa muutuda pärast nende loomist. Sellised klassid on kasulikud andmete turvalisuse ja mitme niidi töötamise tagamiseks.
Muutumatuna klassi loomiseks tuleb:
- Teha klass
final, et seda ei saaks pärida ja selle käitumist muuta. - Kõik väljad teha
privatejafinal. - Mitte pakkuda setter-meetodeid (meetodid väljade muutmiseks).
- Kõiki välju initsialiseerida konstruktoriga.
- Kui väljad on muudetavad objektid, tagastada nende koopiad getterites, et vältida sisemise oleku muutmist.
Näide:
public final class ImmutablePerson {
private final String name;
private final int age;
public ImmutablePerson(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}