Mitä eroa on muutettavissa olevilla ja muuttamattomilla Java-tiedostoilla?



Tämä Java-muuttuvia ja muuttumattomia-artikkeli on kattava opas niiden välisiin eroihin ja käsittelee myös, miksi java-merkkijonot ovat muuttumattomia.

Java on yksi suosituimmista tarjoaa erilaisia ​​konsepteja sovellusten luomiseen, ja yksi tällainen käsite on Java-sovelluksessa Mutable And Immutable. No, tämä käsite perustuu muutoksiin kentissä objektin luomisen jälkeen ja helpottaa siten ohjelmointia . Joten tässä artikkelissa, joka käsittelee muuttuvaa ja muuttumatonta Java-ohjelmaa, keskustelen seuraavista aiheista:

Mikä on muutettava objekti?





Objektit, joissa voit muuttaa kenttiä ja tilaa objektin luomisen jälkeen, tunnetaan muutettavissa olevina objekteina. Esimerkki : java.util.Date, StringBuilder jne.

Mikä on muuttamaton objekti?



kuinka luoda Salesforce-sovellus

esineitä joissa et voi muuttaa mitään objektin luomisen jälkeen, kutsutaan muuttumattomiksi kohteiksi. Esimerkki : Boxed primitiiviset esineet kuten kokonaisluku, pitkä ja niin edelleen.

Joten nyt, kun tiedät, mikä on muuttuva ja muuttumaton Java-järjestelmässä, siirtykäämme eteenpäin ja näkemään näiden kahden erot.

Ero muutettavien ja muuttamattomien objektien välillä



Seuraavassa taulukossa on eroja muutettavien ja muuttumattomien objektien välillä Java-ohjelmassa.

Vaihteleva Muuttumaton
Kenttiä voidaan muuttaa objektin luomisen jälkeenKenttiä ei voi muuttaa objektin luomisen jälkeen
Tarjoaa yleensä menetelmän kentän arvon muokkaamiseksiEi ole mitään menetelmää kentän arvon muokkaamiseksi
On Getter- ja Setter-menetelmiäOn vain Getter-menetelmä
Esimerkki: StringBuilder, java.util.DateEsimerkki: Merkkijono, Boxed primitiiviset objektit, kuten kokonaisluku, pitkä ja niin edelleen

Nyt kun tiedät erot muuttuvien ja muuttumattomien kohteiden välillä, katsokaamme, miten nämä luodaan luokat.

Kuinka luoda muuttuva luokka?

Jos haluat luoda muutettavan luokan Java-laitteeseen, sinun on varmistettava, että seuraavat vaatimukset täyttyvät:

  1. Anna menetelmä muokata kentän arvoja
  2. Getter and Setter -menetelmä

Harkitse seuraavaa koodia:

paketti edureka julkisen luokan esimerkki {yksityinen merkkijono Coursename-esimerkki (String-kentän nimi) {this.coursename = Coursename} public String getName () {return Coursename} public void setName (String-kentän nimi) {this.coursename = Coursename} julkinen staattinen void main (String [] args) {esimerkki obj = uusi esimerkki ('Machine Learning') System.out.println (obj.getName ()) // päivitä nimi, tämä objekti on muutettava obj.setName ('Machine Learning Masters') -järjestelmä. out.println (obj.getName ())}}

Näet seuraavan tuloksen:

Mutable Object Output - Muokattava ja muuttamaton Java- Edurekassa

Joten nyt, kun tiedät kuinka luoda muutettava luokka, seuraavaksi tässä artikkelissa, tarkastellaan miten luoda muuttumaton luokka.

Kuinka luoda muuttumaton luokka?

Jos haluat luoda muuttumattoman luokan Java-laitteeseen, sinun on varmistettava, että seuraavat vaatimukset täyttyvät:

  1. Luokka olisi ilmoitettava lopullinen jotta sitä ei voi pidentää.
  2. Kaikki kentät tulisi tehdä yksityisiksi, jotta suoraa pääsyä ei sallita
  3. Ei setterimenetelmiä
  4. Tee kaikki muutettavat kentät lopullisiksi, jotta ne voidaan määrittää vain kerran.
paketti edureka julkinen luokka esimerkki muuttamaton {yksityinen viimeinen merkkijono kenttänimen esimerkki muuttamaton (viimeinen merkkijono kentän nimi) {tämä.kurssinimi = kentän nimi) julkinen lopullinen merkkijono getName () {palauta kentän nimi} julkinen staattinen void main (merkkijono [] argumentit) {esimerkki obj = uusi esimerkki ( 'Machine Learning') System.out.println (obj.getName ())}}

Näet alla olevan tuotoksen:

Selvä, joten nyt kun tiedät muuttuvista ja muuttumattomista kohteista, haluan kertoa teille, että merkkijonot ovat muuttumattomia Javassa. Nyt olen varma, että tämä on saattanut herättää kysymyksen siitä, miksi merkkijonot ovat muuttumattomia Javassa. Katsotaan siis seuraavaksi tässä artikkelissa samaa.

luo parametri taulukkoon

Miksi merkkijonot ovat muuttumattomia Javassa?

Java käyttää . Joten, jos tarkastellaan esimerkkiä, jossa sinulla on useita viitemuuttujia, jotka viittaavat yhteen objektiin, vaikka yksi viitemuuttuja muuttaisi esine , tämä vaikuttaa automaattisesti kaikkiin muihin viitemuuttujiin. Myös mukaan Tehokas Java ,Luku 4, sivu 73, 2. painos, seuraavat syyt käyttää muuttumattomia luokkia:

  • Muuttamattomat kohteet ovat yksinkertaisia
  • Nämä objektit eivät vaadi synkronointia ja ovat luonnostaan ​​säiettä turvallisia
  • Muuttamattomat esineet muodostavat hyvät rakennuspalikat muille esineille

Jos minun on selitettävä teitä esimerkillä,

Sanotaan, että sinulla on muuttuja näytteenotto , joka tallentaa merkkijonon “ Koneoppiminen ”. Jos liität tämän merkkijonon toisella merkkijonolla ' Mestarit ', sitten objektille, joka on luotu Koneoppiminen ”Ei muutu. Sen sijaan uusi objekti luodaan Koneoppimisen mestarit ”. Katso seuraava kuva:

Kuten yllä olevasta kuvasta näet, näytteenotto viitemuuttuja viittaa ”koneoppimiseen”, mutta ei toiseen merkkijonoon, jopa kahden objektin luomisen jälkeen. Tämän avulla olemme päättäneet tämän artikkelin Mutable and Immutable in Java -sovelluksesta. Toivon, että teillä on selvä jokaisesta näkökohdasta, joista olen keskustellut edellä.

Nyt kun olet ymmärtänyt Java-perusteet, tutustu Edureka, luotettava verkko-oppimisyritys, jolla on yli 250 000 tyytyväisen oppijan verkosto, joka levisi ympäri maailmaa. Edurekan Java J2EE- ja SOA-koulutus- ja sertifiointikurssi on suunniteltu opiskelijoille ja ammattilaisille, jotka haluavat olla Java-kehittäjiä. Kurssi on suunniteltu antamaan sinulle etumatka Java-ohjelmointiin ja kouluttamaan sekä ydin- että edistyneitä Java-konsepteja sekä erilaisia ​​Java-kehyksiä, kuten Hibernate & Spring.

Onko sinulla kysymys meille? Mainitse se tämän 'Muuta ja muuttamaton Java-blogissa' kommenttiosassa, niin otamme sinuun yhteyttä mahdollisimman pian.