A Java az egyik legnépszerűbb különféle fogalmakat kínál az alkalmazások létrehozásához, és az egyik ilyen koncepció a Java-ban módosítható és megváltoztathatatlan. Nos, ez a koncepció az objektumok létrehozása után a mezők megváltoztatására támaszkodik, és így megkönnyíti a programozását . Tehát ebben a Java-ban változtatható és megváltoztathatatlan cikkben a következő témákat fogom megvitatni:
- Mi az a mutálható objektum?
- Mi az a megváltoztathatatlan objektum?
- Különbség a változtatható és a megváltoztathatatlan objektumok között
- Hogyan hozhatunk létre Mutable osztályt?
- Hogyan lehet létrehozni egy megváltoztathatatlan osztályt?
- Miért változtathatók a karakterláncok a Java-ban?
Mi az a mutálható objektum?
Azokat az objektumokat, amelyekben az objektum létrehozása után megváltoztathatja a mezőket és állapotokat, Mutálható objektumok néven ismerjük. Példa : java.util.Date, StringBuilder stb.
Mi az a megváltoztathatatlan objektum?
Az tárgyakat amelyekben az objektum létrehozása után nem lehet semmit megváltoztatni, ezek megváltoztathatatlan objektumok. Példa : Dobozos primitív tárgyak, mint az Egész, Hosszú stb.
Tehát most, hogy tudod, mi a Java-ban változtatható és megváltoztathatatlan, lépjünk előre, és lássuk a kettő közötti különbségeket.
hogyan lehet riasztást tenni html-ben
Különbség a változtatható és a megváltoztathatatlan objektumok között
A Java táblázatban olvasható a mutábilis és megváltoztathatatlan objektumok közötti különbségekről.
Változékony | Változhatatlan |
A mezők az objektum létrehozása után módosíthatók | Az objektum létrehozása után a mezők nem módosíthatók |
Általában biztosít egy módszert a mező értékének módosítására | Nincs módja a mező értékének módosítására |
Getter és Setter módszerekkel rendelkezik | Csak Getter módszerrel rendelkezik |
Példa: StringBuilder, java.util.Date | Példa: Karakterlánc, dobozos primitív objektumok, mint egész szám, hosszú és így tovább |
Most, hogy ismeri a változtatható és megváltoztathatatlan objektumok közötti különbségeket, nézzük meg, hogyan lehet ezeket létrehozni osztályok.
Hogyan hozhatunk létre Mutable osztályt?
Ha módosítható osztályt szeretne létrehozni a Java-ban, meg kell győződnie arról, hogy a következő követelmények teljesülnek:
- Adjon meg egy módszert a mezőértékek módosításához
- Getter és Setter módszer
Vegye figyelembe a következő kódot:
csomag 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) {példa obj = új példa ('Gépi tanulás') System.out.println (obj.getName ()) // frissítse a nevet, ez az objektum mutable obj.setName ('Machine Learning Masters') rendszer. out.println (obj.getName ())}}
A következő kimenetet látja:
Tehát most, hogy tudod, hogyan hozhat létre módosítható osztályt, a cikk következő részében vizsgáljuk meg, hogyan lehet létrehozni egy változhatatlan osztályt.
Hogyan lehet létrehozni egy megváltoztathatatlan osztályt?
Változhatatlan osztály létrehozásához a Java-ban meg kell győződnie arról, hogy a következő követelmények teljesülnek:
- Egy osztályt úgy kell deklarálni végső hogy ne lehessen meghosszabbítani.
- Az összes mezőt priváttá kell tenni, hogy a közvetlen hozzáférés ne legyen megengedett
- Nincs beállító módszer
- Tegye véglegessé az összes módosítható mezőt, hogy csak egyszer rendelhetők hozzá.
csomag 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) {example obj = new example ( 'Machine Learning') System.out.println (obj.getName ())}}
Az alábbi kimenetet látja:
hogyan lehet naplófájlokat létrehozni a java-ban
Rendben, így most, hogy tud a változtatható és megváltoztathatatlan objektumokról, hadd mondjam el, hogy a karakterláncok megváltoztathatatlanok a Java-ban. Most biztos vagyok benne, hogy ez felvethetett egy kérdést, hogy miért változhatatlanok a húrok a Java-ban. Tehát a cikk következő részében nézzük meg ugyanezt.
Miért változtathatók a karakterláncok a Java-ban?
A Java a . Tehát, ha figyelembe veszünk egy példát, ahol sok referenciaváltozó van egyetlen objektumra hivatkozva, akkor is, ha egy referenciaváltozó megváltoztatja a tárgy , automatikusan hatással lesz az összes többi referencia változóra. Továbbá szerint Hatékony Java ,4. fejezet, 73. oldal, 2. kiadás, az alábbiak indokolják az Immutable osztályok használatát:
- A megváltoztathatatlan objektumok egyszerűek
- Ezek az objektumok nem igényelnek szinkronizálást, és eredendően szálbiztosak
- A megváltoztathatatlan tárgyak jó építőelemeket jelentenek más tárgyak számára
Ha egy példával kell elmagyaráznom,
Mondjuk, hogy van változója mintavétel , amely tárolja a „ Gépi tanulás “. Most, ha összefűzi ezt a karakterláncot egy másik karakterlánccal ' Mesterek ', akkor a „ Gépi tanulás ”Nem fog változni. Ehelyett egy új objektum jön létre a Gépi tanulási mesterek “. Lásd az alábbi képet:
Amint a fenti képen látható, a mintavétel a referencia változó „gépi tanulásra” utal, de a másik karakterláncra még két objektum létrehozása után sem. Ezzel véget értünk a Java-ban módosítható és megváltoztathatatlan cikknek. Remélem, hogy srácok tisztában vannak minden szempontommal, amelyet fentebb tárgyaltam.
Most, hogy megértette a Java alapjait, nézze meg a az Edureka, egy megbízható online tanulási vállalat, amelynek több mint 250 000 elégedett tanulóval rendelkező hálózata elterjedt az egész világon. Az Edureka Java J2EE és SOA képzési és tanúsítási tanfolyamát olyan hallgatók és szakemberek számára tervezték, akik Java fejlesztők szeretnének lenni. A tanfolyamot úgy tervezték meg, hogy előrelépést nyújtson a Java programozásban, és képezze mind az alapvető, mind a fejlett Java koncepciókhoz, valamint a különböző Java keretrendszerekhez, például a Hibernate & Spring.
Van egy kérdésünk? Kérjük, említse meg a „Mutálható és megváltoztathatatlan Java-ban” blog megjegyzés rovatában, és a lehető leghamarabb kapcsolatba lépünk Önnel.