Բովանդակություն:

Արդյո՞ք Date օբյեկտը փոփոխական է Java-ում:
Արդյո՞ք Date օբյեկտը փոփոխական է Java-ում:

Video: Արդյո՞ք Date օբյեկտը փոփոխական է Java-ում:

Video: Արդյո՞ք Date օբյեկտը փոփոխական է Java-ում:
Video: Java Tech Զրույց. Հեռագրի բոտը java- ում 1 ժամ 2024, Նոյեմբեր
Anonim

Ա փոփոխվող օբյեկտ պարզապես ան օբյեկտ որը կարող է փոխել իր վիճակը շինարարությունից հետո։ Օրինակ՝ StringBuilder և Ամսաթիվ են փոփոխվող օբյեկտներ , մինչդեռ String-ը և Integer-ը անփոփոխ են առարկաներ . Դասարանը կարող է ունենալ ա փոփոխվող օբյեկտ որպես դաշտ։

Նմանապես, արդյոք Date դասը անփոփոխ է Java-ում:

Ամսաթիվ չէ անփոփոխելի , մենք պետք է պաշտպանական կրկնօրինակենք java . օգտագործել. Ամսաթիվ դաշտ՝ վերադարձնելով հղում այս օրինակի փոփոխականին: Եկեք ստեղծենք հիպոթետիկ մարդ դաս որն ունի անուն և դոբ որպես միակ երկու անդամ:

Հետագայում հարցն այն է, թե ինչ է անփոփոխ օբյեկտը Java-ում: Անփոփոխ առարկաներ են առարկաներ որոնք չեն փոխվում: Դու դրանք պատրաստում ես, հետո չես կարող փոխել։ Ա Java անփոփոխ օբյեկտ իր բոլոր դաշտերը պետք է լինեն ներքին, մասնավոր վերջնական դաշտեր: Այն չպետք է իրականացնի որևէ սահմանող։ Նրան անհրաժեշտ է կոնստրուկտոր, որը արժեք է վերցնում յուրաքանչյուր առանձին դաշտի համար:

Հետևաբար, արդյո՞ք օբյեկտները փոփոխական են Java-ում:

Անփոփոխ առարկաներ պարզապես են առարկաներ որի պետությունը ( առարկաներ տվյալները) չեն կարող փոխվել շինարարությունից հետո: Օրինակներ անփոփոխ առարկաներ JDK-ից ներառում են String և Integer: Փոփոխական օբյեկտներ ունեն դաշտեր, որոնք կարելի է փոխել, անփոփոխ առարկաներ չկան դաշտեր, որոնք կարող են փոխվել հետո օբյեկտ ստեղծվում է.

Ինչպե՞ս կարող եք փոխել օբյեկտը Java-ում:

Անփոփոխելի դաս Java-ում

  1. Դասը հայտարարեք որպես վերջնական, որպեսզի այն չերկարացվի:
  2. Բոլոր դաշտերը դարձրեք մասնավոր, որպեսզի ուղղակի մուտքը թույլ չտա:
  3. Մի տրամադրեք կարգավորող մեթոդներ փոփոխականների համար:
  4. Բոլոր փոփոխվող դաշտերը դարձրեք վերջնական, որպեսզի դրա արժեքը վերագրվի միայն մեկ անգամ:
  5. Նախաձեռնեք բոլոր դաշտերը խորը պատճենը կատարող կոնստրուկտորի միջոցով:

Խորհուրդ ենք տալիս: