Java fiind unul dintre cele mai populare oferă diverse concepte pentru crearea de aplicații, iar un astfel de concept este Mutable And Immutable in Java. Ei bine, acest concept se bazează pe modificarea câmpurilor după crearea obiectului și astfel ușurează programarea pentru . Deci, în acest articol despre modificabile și imuabile în Java, voi discuta următoarele subiecte:
- Ce este obiectul mutabil?
- Ce este obiectul imuabil?
- Diferența dintre obiectele mutabile și imuabile
- Cum se creează o clasă Mutable?
- Cum se creează o clasă imuabilă?
- De ce sunt șirurile imuabile în Java?
Ce este obiectul mutabil?
ce este cadrul în java
Obiectele în care puteți schimba câmpurile și stările după crearea obiectului sunt cunoscute sub numele de obiecte mutabile. Exemplu : java.util.Date, StringBuilder etc.
Ce este obiectul imuabil?
obiecte în care nu puteți schimba nimic odată ce obiectul este creat sunt cunoscute ca obiecte imuabile. Exemplu : Obiecte primitive în cutie precum Întreg, Lung și etc.
Deci, acum că știți ce este mutabil și imuabil în java, să mergem înainte și să vedem diferențele dintre cele două.
Diferența dintre obiectele mutabile și imuabile
Puteți consulta tabelul următor pentru diferențele dintre obiectele mutabile și imuabile din Java.
Mutabil | Imuabil |
Câmpurile pot fi modificate după crearea obiectului | Câmpurile nu pot fi modificate după crearea obiectului |
În general oferă o metodă de modificare a valorii câmpului | Nu are nicio metodă pentru a modifica valoarea câmpului |
Are metode Getter și Setter | Are doar metoda Getter |
Exemplu: StringBuilder, java.util.Date | Exemplu: Șir, obiecte primitive în cutie, cum ar fi Număr întreg, Lung și etc. |
Acum, că cunoașteți diferențele dintre obiectele mutabile și imuabile, să analizăm cum să le creăm clase.
Cum se creează o clasă Mutable?
Pentru a crea o clasă mutabilă în Java, trebuie să vă asigurați că sunt îndeplinite următoarele cerințe:
- Furnizați o metodă pentru a modifica valorile câmpului
- Metoda Getter și Setter
Luați în considerare următorul cod:
package edureka public class example {private String coursename example (String coursename) {this.coursename = coursename} public String getName () {return coursename} public void setName (String coursename) {this.coursename = coursename} public static void main (String [] args) {exemplu obj = exemplu nou („Învățare automată”) System.out.println (obj.getName ()) // actualizează numele, acest obiect este modificabil Sistem obj.setName („Maestru de învățare automată”) Sistem. out.println (obj.getName ())}}
Veți vedea următoarea ieșire:
masa cassandra vs familia de coloane
Deci, acum, când știți cum să creați o clasă mutabilă, în acest articol, să analizăm cum să creați o clasă imuabilă.
Cum se creează o clasă imuabilă?
Pentru a crea o clasă imuabilă în Java, trebuie să vă asigurați că sunt îndeplinite următoarele cerințe:
- O clasă ar trebui declarată ca final astfel încât să nu poată fi extins.
- Toate câmpurile ar trebui să fie private, astfel încât accesul direct să nu fie permis
- Fără metode de setare
- Faceți ca toate câmpurile mutabile să fie finale, astfel încât să poată fi atribuite o singură dată.
pachet edureka public class exampleimmutable {private final String coursename exampleimmutable (final String coursename) {this.coursename = coursename} public final String getName () {return coursename} public static void main (String [] args) {exemplu obj = nou exemplu ( „Învățare automată”) System.out.println (obj.getName ())}}
Veți vedea rezultatul de mai jos:
Bine, așa că acum, când știți despre obiecte mutabile și imuabile, permiteți-mi să vă spun că șirurile sunt imuabile în Java. Acum, sunt sigur că acest lucru ar fi ridicat o întrebare, de ce sunt șirurile imuabile în Java. Deci, în acest articol, să ne uităm la același lucru.
programare socket client server în java
De ce sunt șirurile imuabile în Java?
Java folosește conceptele de . Deci, dacă luați în considerare un exemplu în care aveți multe variabile de referință referitoare la un singur obiect, atunci chiar dacă o variabilă de referință schimbă valoarea obiect , automat toate celelalte variabile de referință vor fi afectate. De asemenea, conform Java eficient ,capitolul 4, pagina 73, ediția a II-a, următoarele sunt motive pentru utilizarea claselor imuabile:
- Obiectele imuabile sunt simple
- Aceste obiecte nu necesită sincronizare și sunt inerent sigure
- Obiectele imuabile constituie elemente constructive bune pentru alte obiecte
Dacă trebuie să vă explic cu un exemplu, atunci,
Să spunem că aveți o variabilă samplestring , care stochează șirul „ Învățare automată „. Acum, dacă concatenați acest șir cu un alt șir ' studii de masterat ', apoi obiectul creat pentru „ Învățare automată ”Nu se va schimba. În schimb, va fi creat un nou obiect pentru „ Maeștri de învățare automată „. Consultați imaginea de mai jos:
După cum puteți vedea în imaginea de mai sus, samplestring variabila de referință se referă la „Învățarea automată”, dar nu la celălalt șir, chiar și după crearea a două obiecte. Cu aceasta, ajungem la sfârșitul acestui articol despre Mutable and Immutable in Java. Sper că voi sunteti clari cu privire la fiecare aspect pe care l-am discutat mai sus.
Acum că ați înțeles elementele de bază ale Java, verificați de Edureka, o companie de învățare online de încredere, cu o rețea de peste 250.000 de elevi mulțumiți răspândiți pe tot globul. Cursul de formare și certificare Java J2EE și SOA al Edureka este conceput pentru studenți și profesioniști care doresc să fie dezvoltator Java. Cursul este conceput pentru a vă oferi un început important în programarea Java și pentru a vă instrui atât pentru conceptele Java de bază, cât și pentru cele avansate, împreună cu diverse cadre Java, cum ar fi Hibernate & Spring.
Ai o întrebare pentru noi? Vă rugăm să o menționați în secțiunea de comentarii a acestui blog „Mutabil și imuabil în Java” și vă vom contacta cât mai curând posibil.