Junior — Middle
Μπορείτε να εξηγήσετε τι είναι μια αμετάβλητη κλάση στη Java και πώς δημιουργείται;
sobes.tech AI
Απάντηση από AI
Μη μεταβλητή κλάση σε Java είναι μια κλάση των οποίων τα αντικείμενα δεν μπορούν να τροποποιηθούν μετά τη δημιουργία τους. Τέτοιες κλάσεις είναι χρήσιμες για την εξασφάλιση της ασφάλειας των δεδομένων και του πολυνηματισμού.
Για να δημιουργήσετε μια μη μεταβλητή κλάση, πρέπει:
- Να κάνετε την κλάση
final, ώστε να μην μπορεί να κληρονομηθεί και να αλλάξει η συμπεριφορά της. - Όλα τα πεδία να είναι
privateκαιfinal. - Να μην παρέχετε setters (μεθόδους για την αλλαγή των πεδίων).
- Να αρχικοποιείτε όλα τα πεδία μέσω του κατασκευαστή.
- Αν τα πεδία είναι μεταβλητά αντικείμενα, να επιστρέφετε αντίγραφα αυτών στους getters για να αποφύγετε την αλλαγή της εσωτερικής κατάστασης.
Παράδειγμα:
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;
}
}