Sobes.tech
Junior — Middle

Μπορείτε να δηλώσετε τα μέλη μιας κλάσης ως αμετάβλητα μετά την αρχικοποίησή τους;

sobes.tech AI

Απάντηση από AI

Ναι, στη Java, τα μέλη μιας κλάσης μπορούν να δηλωθούν ως αμετάβλητα μετά την αρχικοποίησή τους χρησιμοποιώντας τη λέξη-κλειδί final. Αυτό σημαίνει ότι, αφού δοθεί μια τιμή στη μεταβλητή, δεν μπορεί να αλλάξει.

Παράδειγμα:

public class Example {
    private final int id; // αμετάβλητο πεδίο

    public Example(int id) {
        this.id = id; // αρχικοποίηση στον κατασκευαστή
    }

    public int getId() {
        return id;
    }
}

Εδώ, το πεδίο id μπορεί να ανατεθεί μόνο μία φορά — κατά τη δημιουργία του αντικειμένου. Μετά από αυτό, οποιαδήποτε προσπάθεια αλλαγής του id θα προκαλέσει σφάλμα μεταγλώττισης.

Για αμετάβλητα αντικείμενα, συχνά κάνουν όλα τα πεδία final και δεν παρέχουν setters, κάτι που βοηθά στην εξασφάλιση της ασφάλειας και της προβλεψιμότητας της συμπεριφοράς της κλάσης.