Java je jedným z najpopulárnejších poskytuje rôzne koncepty pre vytváranie aplikácií a jedným z takýchto konceptov je Mutable And Immutable v Jave. Tento koncept sa spolieha na vykonávanie zmien v poliach po vytvorení objektu, a tým uľahčuje programovanie . Takže v tomto článku o premenlivých a nemenných v Jave budem diskutovať o nasledujúcich témach:
- Čo je premenlivý objekt?
- Čo je to Nemenný objekt?
- Rozdiel medzi premenlivými a nezmeniteľnými objektmi
- Ako vytvoriť premenlivú triedu?
- Ako vytvoriť nezmeniteľnú triedu?
- Prečo sú reťazce v jazyku Java nemenné?
Čo je premenlivý objekt?
Objekty, v ktorých môžete po vytvorení objektu zmeniť polia a stavy, sa nazývajú premenlivé objekty. Príklad : java.util.Date, StringBuilder atď.
Čo je to Nemenný objekt?
ako nastaviť cestu java
The predmety v ktorých po vytvorení objektu nemôžete nič zmeniť, sa nazývajú Nezmeniteľné objekty. Príklad : Primitívne objekty v krabici ako Integer, Long atď.
Takže teraz, keď viete, čo je v Jave premenlivé a nemenné, poďme ďalej a pozrime sa na rozdiely medzi týmito dvoma.
Rozdiel medzi premenlivými a nezmeniteľnými objektmi
V nasledujúcej tabuľke nájdete rozdiely medzi premenlivými a nemennými objektmi v prostredí Java.
Premenlivé | Nezmeniteľné |
Polia je možné meniť po vytvorení objektu | Po vytvorení objektu nie je možné polia meniť |
Spravidla poskytuje metódu na úpravu hodnoty poľa | Nemá žiadny spôsob úpravy hodnoty poľa |
Má metódy Getter a Setter | Má iba metódu Getter |
Príklad: StringBuilder, java.util.Date | Príklad: Reťazec, primitívne objekty v krabici ako celé číslo, dlhé atď |
Teraz, keď poznáte rozdiely medzi premenlivými a nemennými objektmi, sa pozrime na to, ako ich vytvoriť triedy.
java previesť binárne na desatinné
Ako vytvoriť premenlivú triedu?
Ak chcete vytvoriť premenlivú triedu v prostredí Java, musíte sa ubezpečiť, že sú splnené nasledujúce požiadavky:
- Poskytnite metódu upraviť hodnoty poľa
- Metóda Getter a Setter
Zvážte nasledujúci kód:
balíček edureka príklad verejnej triedy {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) {example obj = new example ('Machine Learning') System.out.println (obj.getName ()) // aktualizovať názov, tento objekt je premenlivý systém obj.setName ('Machine Learning Masters'). out.println (obj.getName ())}}
Uvidíte nasledujúci výstup:
Takže keď už viete, ako vytvoriť premenlivú triedu, v ďalšom článku sa pozrime na to, ako vytvoriť nemennú triedu.
Ako vytvoriť nezmeniteľnú triedu?
Ak chcete vytvoriť nemennú triedu v prostredí Java, musíte sa ubezpečiť, že sú splnené nasledujúce požiadavky:
- Trieda by mala byť deklarovaná ako Konečný aby sa nedal predĺžiť.
- Všetky polia by mali byť súkromné, aby nebol povolený priamy prístup
- Žiadne metódy nastavenia
- Urobte všetky premenlivé polia konečné, aby ich bolo možné priradiť iba raz.
balíček edureka public class exampleimmutable {private final String coursename exampleimmutable (final String coursename) {this.coursename = coursename} verejné finále String getName () {return coursename} public static void main (String [] args) {example obj = nový príklad ( „Machine Learning“) System.out.println (obj.getName ())}}
Uvidíte nasledujúci výstup:
Dobre, takže keď teraz viete o premenlivých a nemenných objektoch, poviem vám, že reťazce sú v Jave nemenné. Som si istý, že to mohlo položiť otázku, prečo sú reťazce v Jave nemenné. Ďalej sa teda v tomto článku pozrime na to isté.
java čo robí append
Prečo sú reťazce v jazyku Java nemenné?
Java používa pojmy . Ak teda uvažujete o príklade, kde máte veľa referenčných premenných odkazujúcich na jeden objekt, potom aj keby jedna referenčná premenná zmenila hodnotu objekt , automaticky budú ovplyvnené všetky ostatné referenčné premenné. Tiež podľa Efektívna Java ,kapitola 4, strana 73, 2. vydanie, sú nasledujúce dôvody prečo používať Immutable triedy:
- Nezmeniteľné objekty sú jednoduché
- Tieto objekty nevyžadujú žiadnu synchronizáciu a sú zo svojej podstaty bezpečné pre vlákna
- Nezmeniteľné objekty sú dobrým stavebným prvkom pre ďalšie objekty
Ak ti mám vysvetliť na príklade, potom,
Povedzme, že máte premennú samplestring , v ktorom je uložený reťazec „ Strojové učenie „. Teraz, ak spojíte tento reťazec s iným reťazcom „ Majstri ', potom objekt vytvorený pre „ Strojové učenie ”Sa nezmení. Namiesto toho sa vytvorí nový objekt pre „ Majstri strojového učenia „. Pozrite si nasledujúci obrázok:
Ako vidíte na obrázku vyššie, samplestring referenčná premenná odkazuje na „strojové učenie“, ale nie na druhý reťazec, a to ani po vytvorení dvoch objektov. Týmto sa dostávame ku koncu tohto článku o Mutable and Immutable v Jave. Dúfam, že máte jasno vo všetkých aspektoch, o ktorých som hovoril vyššie.
Teraz, keď ste porozumeli základom Java, sa pozrite na autor: Edureka, dôveryhodná online vzdelávacia spoločnosť so sieťou viac ako 250 000 spokojných študentov rozmiestnených po celom svete. Výcvikový a certifikačný kurz Edureka Java J2EE a SOA je určený pre študentov a profesionálov, ktorí chcú byť vývojármi Java. Kurz je navrhnutý tak, aby vám dal náskok v programovaní v Jave a naučil vás základné aj pokročilé koncepty Javy spolu s rôznymi rámcami Java, ako je Hibernate & Spring.
Máte na nás otázku? Uveďte to, prosím, v sekcii komentárov v tomto blogu „Mutable and Immutable in Java“ a my sa vám ozveme čo najskôr.