Која је разлика између променљивог и непроменљивог у Јави?



Овај чланак о Променљивом и непроменљивом у Јави је свеобухватан водич за разлике између њих и такође говори о томе зашто су Јава низови непроменљиви.

Јава је једна од најпопуларнијих пружа различите концепте за креирање апликација, а један такав концепт је променљив и непроменљив у Јави. Па, овај концепт се ослања на уношење промена у поља након стварања објекта и на тај начин олакшава програмирање за . Дакле, у овом чланку о променљивом и непроменљивом у Јави, разговараћу о следећим темама:

Шта је променљиви објекат?





Објекти у којима можете да мењате поља и стања након што се објекат креира познати су као променљиви објекти. Пример : јава.утил.Дате, СтрингБуилдер, итд.

Шта је Непроменљиви објекат?



Тхе предмета у којима након стварања објекта не можете ништа променити познати су као Непроменљиви објекти. Пример : Примарни објекти у кутији попут Интегер, Лонг и итд.

Дакле, сада када знате шта је променљиво и непроменљиво у јави, идемо напред и увидимо разлике између њих двоје.

Разлика између променљивих и непроменљивих објеката



шта је ознака распона у хтмл-у

За разлике између променљивих и непроменљивих објеката у Јави можете се позвати на следећу табелу.

Променљиво Непроменљив
Поља се могу мењати након стварања објектаПоља се не могу мењати након креирања објекта
Генерално пружа метод за модификовање вредности пољаНе постоји ниједан метод за модификовање вредности поља
Има методе Геттер и СеттерИма само Геттерову методу
Пример: СтрингБуилдер, јава.утил.ДатеПример: Низ, примитивни објекти у кутији попут Интегер, Лонг и итд

Сада када знате разлике између променљивих и непроменљивих објеката, погледајмо како да их направимо класе.

Како створити променљиву класу?

Да бисте креирали променљиву класу у Јави, морате бити сигурни да су испуњени следећи захтеви:

  1. Наведите метод за измену вредности поља
  2. Геттер и Сеттер метода

Узмите у обзир следећи код:

пакет едурека пример јавне класе {привате Стринг пример назива курса (стринг име курса) {тхис.цоурсенаме = име курса} публиц Стринг гетНаме () {ретурн цоурсенаме} јавна празнина сетНаме (стринг име курса) {тхис.цоурсенаме = име курса} публиц статиц воид маин (Стринг [] аргс) {пример обј = нови пример ('Машинско учење') Систем.оут.принтлн (обј.гетНаме ()) // ажурирај име, овај објекат је променљив систем обј.сетНаме ('Мастер Леарнинг Мастерс'). оут.принтлн (обј.гетНаме ())}}

Видели бисте следећи излаз:

Променљиви излазни објекти - променљиви и непроменљиви у Јава-Едуреки

Дакле, сада када знате како да направите променљиву класу, следећи у овом чланку, погледајмо како да направимо непроменљиву класу.

Како створити Непроменљиву класу?

Да бисте креирали непроменљиву класу у Јави, морате бити сигурни да су испуњени следећи захтеви:

  1. Класу треба декларисати као коначни тако да се не може продужити.
  2. Сва поља треба учинити приватним, тако да директан приступ није дозвољен
  3. Нема метода постављања
  4. Нека сва променљива поља постану коначна, тако да се могу доделити само једном.
пакет едурека јавна класа екамплеиммутабле {привате финал Стринг име курса екамплеиммутабле (финал Стринг име курса) {тхис.цоурсенаме = цоурсенаме} јавни завршни низ гетНаме () {ретурн цоурсенаме} јавна статичка воид главна (Стринг [] аргс) {пример обј = нови пример ( 'Машинско учење') Систем.оут.принтлн (обј.гетНаме ())}}

Видели бисте доњи излаз:

У реду, сада, кад знате за променљиве и непроменљиве објекте, дозволите ми да вам кажем да су стрингови непроменљиви у Јави. Сада сам сигуран да је ово можда покренуло питање зашто су низови непроменљиви у Јави. Дакле, погледајмо исто у следећем чланку.

Зашто су жице непроменљиве у Јави?

Јава користи концепте . Дакле, ако узмете у обзир пример где имате много референтних променљивих које се односе на један објекат, онда чак и ако једна референтна променљива мења вредност објект , аутоматски ће то утицати на све остале референтне променљиве. Такође, према Ефективна Јава ,поглавље 4, страна 73, друго издање, следећи су разлози за употребу Непроменљивих класа:

  • Непроменљиви објекти су једноставни
  • Ови објекти не захтевају синхронизацију и у основи су заштићени од нити
  • Непроменљиви предмети чине добре грађевинске блокове за друге предмете

Ако вам морам објаснити пример, онда,

Рецимо да имате променљиву стринг узорака , који чува низ „ Машинско учење “. Сада, ако овај низ спојите са другим низом ' Мастерс ', онда објекат створен за „ Машинско учење ”Неће се променити. Уместо тога, креираће се нови објекат за „ Мајстори машинског учења “. Погледајте доњу слику:

користећи р за машинско учење

Као што видите на горњој слици, стринг узорака референтна променљива односи се на „Машинско учење“, али не и на други низ, чак и након стварања два објекта. Овим смо завршили овај чланак о променљивим и непроменљивим у Јави. Надам се да сте јасни за сваки аспект о којем сам горе говорио.

Сада када сте разумели основе Јаве, погледајте Едурека, поуздана компанија за учење на мрежи са мрежом од више од 250.000 задовољних ученика раширених широм света. Едурекин курс за обуку и сертификацију Јава Ј2ЕЕ и СОА дизајниран је за студенте и професионалце који желе да буду Јава програмер. Курс је дизајниран да вам пружи почетну предност у Јава програмирању и обучи вас како за основне тако и за напредне Јава концепте, заједно са разним Јава оквирима попут Хибернате & Спринг.

Имате питање за нас? Молимо вас да га спомињете у одељку за коментаре овог блога „Променљиво и непроменљиво у Јави“ и јавићемо вам се што је пре могуће.