Sobes.tech
Junior — Middle

Μπορείτε να εξηγήσετε τι σημαίνει η χρήση της λέξης-κλειδιού 'final' για τις μεταβλητές στη γλώσσα Java;

sobes.tech AI

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

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

Αυτό σημαίνει:

  • Για τους πρωταρχικούς τύπους (int, boolean κ.λπ.), η τιμή καθορίζεται και δεν μπορεί να επαναπροσδιοριστεί.
  • Για τους τύπους αναφοράς (αντικείμενα), δεν μπορεί να αλλάξει η αναφορά σε άλλο αντικείμενο, αλλά το ίδιο το αντικείμενο μπορεί να είναι μεταβλητό (αν οι μέθοδοι του το επιτρέπουν).

Παράδειγμα:

final int x = 10;
x = 20; // Σφάλμα μεταγλώττισης

final List<String> list = new ArrayList<>();
list.add("item"); // Επιτρέπεται, το αντικείμενο αλλάζει
list = new ArrayList<>(); // Σφάλμα, δεν επιτρέπεται η επαναπροσδιορισμός της αναφοράς

Η χρήση του final βοηθάει στο να κάνει τον κώδικα πιο προβλέψιμο και ασφαλή.