Java ir viena no populārākajām nodrošina dažādas koncepcijas lietojumprogrammu izveidei, un viens no šādiem jēdzieniem ir Java maināms un maināms. Šī koncepcija balstās uz izmaiņu veikšanu laukos pēc objekta izveides un tādējādi atvieglo programmēšanu . Tātad šajā rakstā par maināmu un nemaināmu Java es apspriedīšu šādas tēmas:
- Kas ir maināms objekts?
- Kas ir nemaināms objekts?
- Atšķirība starp maināmiem un nemainīgiem objektiem
- Kā izveidot maināmu klasi?
- Kā izveidot nemaināmu klasi?
- Kāpēc Java virknes ir nemaināmas?
Kas ir maināms objekts?
Objekti, kuros pēc objekta izveides var mainīt laukus un stāvokļus, ir pazīstami kā maināmi objekti. Piemērs : java.util.Date, StringBuilder utt.
Kas ir nemaināms objekts?
c ++ notiek kārtot
The objektiem kurās pēc objekta izveides jūs neko nevarat mainīt, tiek dēvēti par nemaināmiem objektiem. Piemērs : Iesaiņoti primitīvi objekti, piemēram, vesels skaitlis, garš un citi.
Tātad, tagad, kad jūs zināt, kas ir maināms un nemaināms java, ļaujiet mums virzīties uz priekšu un redzēt atšķirības starp abiem.
Atšķirība starp maināmiem un nemainīgiem objektiem
Lai redzētu atšķirības starp maināmiem un nemainīgiem Java objektiem, varat atsaukties uz šo tabulu.
Maināms | Nemaināms |
Pēc objekta izveides laukus var mainīt | Pēc objekta izveides laukus nevar mainīt |
Parasti nodrošina metodi lauka vērtības modificēšanai | Nav nevienas metodes lauka vērtības modificēšanai |
Ir Getter un Setter metodes | Ir tikai Getter metode |
Piemērs: StringBuilder, java.util.Date | Piemērs: virknes, iesaiņoti primitīvi objekti, piemēram, vesels skaitlis, garš un citi |
Tagad, kad jūs zināt atšķirības starp maināmiem un nemainīgiem objektiem, ļaujiet mums izpētīt, kā tos izveidot klases.
Kā izveidot maināmu klasi?
Lai izveidotu maināmu klasi Java, jums jāpārliecinās, vai ir izpildītas šādas prasības:
- Norādiet metodi lai modificētu lauka vērtības
- Getter and Setter metode
Apsveriet šādu kodu:
pakete edureka publiskās klases piemērs {private String kursename 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) {piemērs obj = jauns piemērs ('Mašīnmācība') System.out.println (obj.getName ()) // atjaunināt nosaukumu, šis objekts ir maināms obj.setName ('Mašīnmācīšanās meistari') sistēma. out.println (obj.getName ())}}
Jūs redzētu šādu izvadi:
Tagad, kad jūs zināt, kā izveidot maināmu klasi, tālāk šajā rakstā apskatīsim, kā izveidot nemainīgu klasi.
Kā izveidot nemaināmu klasi?
Lai Java izveidotu nemaināmu klasi, jums jāpārliecinās, vai ir izpildītas šādas prasības:
- Klase jādeklarē kā galīgais lai to nevarētu pagarināt.
- Visi lauki ir jāpadara privāti, lai nebūtu atļauta tieša piekļuve
- Nav iestatītāju metožu
- Padariet visus maināmos laukus galīgus, lai tos varētu piešķirt tikai vienu reizi.
pakete edureka public class exampleimutable {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 ())}}
Jūs redzētu šādu izvadi:
Labi, tāpēc tagad, kad jūs zināt par maināmiem un nemainīgiem objektiem, ļaujiet man jums pateikt, ka virknes Java nemainās. Tagad esmu pārliecināts, ka tas varētu būt radījis jautājumu, kāpēc virknes ir nemainīgas Java. Tātad, nākamais šajā rakstā, apskatīsim to pašu.
Kāpēc Java virknes ir nemaināmas?
Java lieto jēdzienus . Tātad, ja ņemat vērā piemēru, kurā jums ir daudz atsauces mainīgo, kas atsaucas uz vienu objektu, pat tad, ja viens atsauces mainīgais maina objekts , automātiski tiks ietekmēti visi pārējie atsauces mainīgie. Arī saskaņā ar Efektīva Java ,4. nodaļa, 73. lpp., 2. izdevums, ir iemesli, kāpēc izmantot nemaināmās klases:
- Nemaināmi objekti ir vienkārši
- Šiem objektiem nav nepieciešama sinhronizācija, un tie pēc savas būtības ir droši
- Nemaināmi priekšmeti ir labi celtniecības elementi citiem objektiem
Ja man jums jāpaskaidro ar piemēru,
Pieņemsim, ka jums ir mainīgais paraugu ņemšana , kurā glabājas virkne “ Mašīnmācība “. Tagad, ja jūs savienojat šo virkni ar citu virkni ' Meistari ', tad objekts, kas izveidots Mašīnmācība ”Nemainīsies. Tā vietā tiks izveidots jauns objekts Mašīnmācīšanās meistari “. Skatiet zemāk esošo attēlu:
Kā redzat iepriekš redzamajā attēlā, paraugu ņemšana atsauces mainīgais attiecas uz “Machine Learning”, bet ne uz citu virkni, pat pēc divu objektu izveidošanas. Ar to mēs esam nonākuši galā ar šo rakstu par Java maināmajiem un nemainīgajiem. Es ceru, ka jums, puiši, ir skaidrs katrs aspekts, par kuru esmu runājis iepriekš.
Tagad, kad esat sapratis Java pamatus, pārbaudiet Autors: Edureka, uzticams tiešsaistes mācību uzņēmums ar vairāk nekā 250 000 apmierinātu izglītojamo tīklu visā pasaulē. Edureka Java J2EE un SOA apmācības un sertifikācijas kurss ir paredzēts studentiem un profesionāļiem, kuri vēlas būt Java izstrādātāji. Kurss ir paredzēts, lai dotu jums iespēju sākt Java programmēšanu un apmācīt gan Java, gan uzlabotas koncepcijas, kā arī dažādas Java struktūras, piemēram, Hibernate & Spring.
Vai mums ir jautājums? Lūdzu, pieminējiet to šī emuāra “Maināms un nemaināms Java valodā” komentāru sadaļā, un mēs pēc iespējas ātrāk sazināsimies ar jums.