Ինչու՞ անցողիկ փոփոխականները սերիականացված չեն:
Ինչու՞ անցողիկ փոփոխականները սերիականացված չեն:

Video: Ինչու՞ անցողիկ փոփոխականները սերիականացված չեն:

Video: Ինչու՞ անցողիկ փոփոխականները սերիականացված չեն:
Video: ԳՈՒՆԱՅԻՆ ԹԵՍՏ, ՈՐԸ ԿԱՍԻ ՔՈ ՀՈԳԵՎՈՐ ՏԱՐԻՔԸ 2024, Նոյեմբեր
Anonim

անցողիկ Java հիմնաբառ է, որը նշում է անդամին փոփոխական ոչ լինել սերիականացված երբ այն պահպանվում է բայթերի հոսքերի վրա: Երբ օբյեկտը փոխանցվում է ցանցի միջոցով, օբյեկտը պետք է լինի « սերիականացված '. Սերիալացում փոխակերպում է օբյեկտի վիճակը սերիական բայթերի:

Համապատասխանաբար, անցողիկ փոփոխականը կարո՞ղ է սերիականացվել:

Ա անցողիկ փոփոխական է փոփոխական որ կարող է չլինել սերիականացված . Ըստ Java լեզվի սպեցիֆիկացիայի [jls-8.3. 1.3] – « Փոփոխականներ կարող է նշվել անցողիկ նշելու, որ դրանք օբյեկտի կայուն վիճակի մաս չեն»։

Բացի վերևից, ինչու են մեզ անհրաժեշտ անցողիկ փոփոխականներ Java-ում: անցողիկ է ա փոփոխականներ մոդիֆիկատոր, որն օգտագործվում է սերիալացման մեջ: Սերիականացման պահին, եթե մենք մի արեք ցանկանում որոշակիի արժեքը խնայելու համար փոփոխական ֆայլում, ապա մենք օգտագործել անցողիկ հիմնաբառ. Երբ JVM-ն հանդիպում է անցողիկ հիմնաբառ, այն անտեսում է սկզբնական արժեքը փոփոխական և պահպանել դրա լռելյայն արժեքը փոփոխական տվյալների տեսակը.

Բացի դրանից, ինչու՞ ստատիկ և անցողիկ փոփոխականները սերիականացված չեն:

Ստատիկ փոփոխականներ : Սրանք փոփոխականները սերիականացված չեն , Այսպիսով, ապասերիալիզացիայի ժամանակ ստատիկ փոփոխական արժեքը կբեռնվի դասից: անցողիկ փոփոխականներ : անցողիկ փոփոխականները սերիականացված չեն , ուստի ապասերիալիզացիայի ժամանակ դրանք փոփոխականներ Նախաստորագրվելու է համապատասխան լռելյայն արժեքներով (օրինակ՝ null, int 0 օբյեկտների համար):

Ինչու՞ ստատիկ դաշտերը սերիականացված չեն:

Ստատիկ Փոփոխական. Ստատիկ փոփոխականները պատկանում են դասին և ոչ ցանկացած առանձին ատյանի համար: Հայեցակարգը սերիականացում մտահոգված է օբյեկտի ներկա վիճակով: Միայն տվյալներ են, որոնք կապված են դասի կոնկրետ օրինակի հետ սերիականացված , հետևաբար ստատիկ անդամ դաշտերը ընթացքում անտեսվում են սերիականացում.

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