English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Le classi/oggetti immutabili non possono modificare i loro valori. Ad esempio, le stringhe sono immutabili in Java, il che significa che una volta create una stringa in Java, non è possibile modificarla. Anche se tenti di modificarla, creerai una stringa intermedia modificata e assegnarla al testo originale.
Ogni volta che è necessario creare un oggetto che non può essere modificato dopo l'inizializzazione, si possono definire oggetti immutabili. Non ci sono regole specifiche per creare oggetti immutabili, l'idea è limitare l'accesso ai campi della classe dopo l'inizializzazione.
Il seguente programma Java dimostra la creazione di una classe finale. Qui, abbiamo due variabili di istanza nome e età, tranne per il costruttore che non può assegnare loro valori.
final public class Student { private final String name; private final int age; public Student(String name, int age) { this.name = name; this.age = age; } public String getName() { return this.name; } public int getAge() { return this.age; } public static void main(String[] args) { Student std = new Student("Krishna", 29); System.out.println(std.getName()); System.out.println(std.getAge()); } }
Risultato di output
Krishna 29
No, non tutte le proprietà devono avere l'attributo finale per creare oggetti immutabili. In un oggetto immutabile, non dovresti permettere agli utenti di modificare le variabili della classe.
Puoi farlo modificando le variabili in private e non fornendo un metodo di impostazione per farle, in questo modo.
public class Sample { String name; int age; public Sample() { this.name = name; this.age = age; } public String getName() { return this.name; } public int getAge() { return this.age; } }