Koja je razlika između promjenjivog i nepromjenjivog u Javi?

Ovaj članak o Promjenjivom i nepromjenjivom u Javi sveobuhvatan je vodič za razlike između njih i također raspravlja zašto su java nizovi nepromjenjivi.

Java je jedna od najpopularnijih pruža razne koncepte za stvaranje aplikacija, a jedan od takvih koncepata je Promjenjiv i nepromjenjiv u Javi. Pa, ovaj se koncept oslanja na unošenje promjena u polja nakon stvaranja objekta i na taj način olakšava programiranje za . Dakle, u ovom članku o promjenjivom i nepromjenjivom u Javi razgovarat ću o sljedećim temama:

Što je promjenjivi objekt?





Objekti u kojima možete mijenjati polja i stanja nakon stvaranja objekta poznati su kao Promjenjivi objekti. Primjer : java.util.Date, StringBuilder itd.

Što je Nepromjenjivi objekt?



The predmeta u kojima nakon stvaranja objekta ne možete ništa promijeniti poznati su kao Nepromjenjivi objekti. Primjer : Primicirani objekti u kutiji poput Integer, Long i itd.

java za primjere programa petlje

Dakle, sada kada znate što je promjenjivo i nepromjenjivo u javi, krenimo naprijed i uvidimo razlike između njih dvoje.

Razlika između promjenjivih i nepromjenjivih objekata



U sljedećoj tablici potražite razlike između promjenjivih i nepromjenjivih objekata u Javi.

Promjenjivo Nepromjenjiv
Polja se mogu mijenjati nakon stvaranja objektaPolja se ne mogu mijenjati nakon stvaranja objekta
Općenito pruža metodu za izmjenu vrijednosti poljaNema metode za izmjenu vrijednosti polja
Ima metode Getter i SetterIma samo Getterovu metodu
Primjer: StringBuilder, java.util.DatePrimjer: Niz, primitivni objekti u boksu poput Integer, Long i itd

Sad kad znate razlike između promjenjivih i nepromjenjivih objekata, pogledajmo kako ih stvoriti razreda.

Kako stvoriti mutabilnu klasu?

Da biste stvorili promjenjivu klasu u Javi, morate biti sigurni da su ispunjeni sljedeći zahtjevi:

  1. Navedite metodu za izmjenu vrijednosti polja
  2. Getter i Setter metoda

Razmotrite sljedeći kod:

paket edureka primjer javne klase {privatni niz primjera naziva kursa (niz naziva kursa) {this.coursename = ime kursa} javni niz getName () {vratiti naziv kursa} javna void setName (niz naziva kursa) {this.coursename = ime kursa} public static void main (String [] args) {primjer obj = novi primjer ('Strojno učenje') System.out.println (obj.getName ()) // ažuriranje imena, ovaj je objekt promjenjiv sistem obj.setName ('Masters Learning Masters'). out.println (obj.getName ())}}

Vidjeli biste sljedeći izlaz:

Izmjenjivi izlazni objekt - Promjenjiv i nepromjenjiv u Java-Edureki

Dakle, sada kada znate kako stvoriti promjenjivu klasu, u sljedećem ćemo članku pogledati kako stvoriti nepromjenjivu klasu.

Kako stvoriti Nepromjenjivu klasu?

kako obrezati u javi

Da biste stvorili nepromjenjivu klasu u Javi, morate biti sigurni da su ispunjeni sljedeći zahtjevi:

  1. Klasu treba deklarirati kao konačni tako da se ne može produžiti.
  2. Sva polja treba učiniti privatnima, tako da izravan pristup nije dozvoljen
  3. Nema metoda postavljanja
  4. Neka sva promjenjiva polja postanu konačna, tako da se mogu dodijeliti samo jednom.
paket edureka javna klasa exampleimmutable {private final String ime kursa exampleimmutable (final String ime kursa) {this.coursename = coursename} javni konačni String getName () {return coursename} javna statička void glavna (String [] args) {primjer obj = novi primjer ( 'Strojno učenje') System.out.println (obj.getName ())}}

Vidjeli biste donji izlaz:

U redu, sad kad znate o promjenjivim i nepromjenjivim objektima, dopustite mi da vam kažem da su stringovi nepromjenjivi u Javi. Siguran sam da je ovo moglo pokrenuti pitanje zašto su nizovi nepromjenjivi u Javi. Dakle, pogledajmo isto u sljedećem članku.

Zašto su žice nepromjenjive u Javi?

Java koristi koncepte . Dakle, ako uzmete u obzir primjer gdje imate mnogo referentnih varijabli koje se odnose na jedan objekt, onda čak i ako jedna referentna varijabla mijenja vrijednost objekt , automatski će to utjecati na sve ostale referentne varijable. Također, prema Učinkovita Java ,poglavlje 4, stranica 73, drugo izdanje, sljedeći su razlozi za upotrebu Nepromjenjivih klasa:

  • Nepromjenjivi objekti su jednostavni
  • Ti objekti ne zahtijevaju sinkronizaciju i u osnovi su zaštićeni od niti
  • Nepromjenjivi predmeti čine dobre građevne blokove za druge predmete

Ako vam moram objasniti primjer, onda,

Recimo da imate varijablu niz uzoraka , koji pohranjuje niz ' Strojno učenje “. Sada, ako ovaj niz spojite s drugim nizom ' Majstori ', tada objekt stvoren za „ Strojno učenje ”Neće se promijeniti. Umjesto toga, stvorit će se novi objekt za “ Majstori strojnog učenja “. Pogledajte donju sliku:

mongodb stvoriti korisnika za bazu podataka

Kao što možete vidjeti na gornjoj slici, niz uzoraka referentna varijabla odnosi se na “Strojno učenje”, ali ne i na drugi niz, čak i nakon stvaranja dva objekta. Ovim smo došli do kraja ovog članka o Promjenjivom i nepromjenjivom u Javi. Nadam se da ste jasni za svaki aspekt o kojem sam gore govorio.

Sad kad ste razumjeli osnove Jave, pogledajte Edureka, pouzdana tvrtka za internetsko učenje s mrežom od više od 250 000 zadovoljnih učenika raširenih širom svijeta. Edurekin tečaj za obuku i certificiranje Java J2EE i SOA namijenjen je studentima i profesionalcima koji žele biti programer Java. Tečaj je dizajniran da vam pruži početnu prednost u Java programiranju i osposobi vas za osnovne i napredne Java koncepte, zajedno s raznim Java okvirima poput Hibernate & Spring.

Imate pitanje za nas? Molimo vas da ga spominjete u odjeljku za komentare ovog bloga „Promjenjivo i nepromjenjivo u Javi“, a mi ćemo vam se javiti što je prije moguće.