Հիմնական տարբերություն – ստատիկ ընդդեմ վերջնական Java-ում
Ծրագրավորման յուրաքանչյուր լեզու ունի որոշակի շարահյուսություն: Ծրագրեր գրելիս ծրագրավորողը պետք է հետևի այս շարահյուսություններին: Ծրագրավորման լեզուների հիմնաբառերն ըստ առաջադրանքների ունեն կոնկրետ նշանակություն։ Դրանք տրամադրվում են ծրագրավորման լեզվով և չեն կարող օգտագործվել օգտագործողի կողմից սահմանված փոփոխականների, մեթոդների, դասերի և այլնի համար: Ստատիկը և վերջնականը Java-ի երկու հիմնաբառեր են: Այս հոդվածը քննարկում է Java-ում ստատիկ և վերջնական տարբերությունը: Java-ում ստատիկի և վերջնականի միջև հիմնական տարբերությունն այն է, որ ստատիկն օգտագործվում է դասի անդամը սահմանելու համար, որը կարող է օգտագործվել դասի ցանկացած օբյեկտից անկախ, մինչդեռ վերջնականը օգտագործվում է հաստատուն փոփոխական կամ մեթոդ, որը չի կարող վերացվել կամ դասակարգ հայտարարելու համար: չի կարող ժառանգվել:
Ի՞նչ է ստատիկ Java-ում:
Ա դասը բաղկացած է տվյալների անդամներից (հատկանիշներից) և մեթոդներից: Մեթոդները կանչելու համար պետք է լինի տվյալ դասի օբյեկտ։ Երբ մեթոդը հայտարարվում է որպես ստատիկ, անհրաժեշտ չէ ստեղծել օբյեկտ՝ այդ մեթոդը կանչելու համար: Մեթոդը կարելի է կանչել՝ օգտագործելով դասի անվանումը: Տե՛ս ստորև ներկայացված ծրագիրը։
Նկար 01. Java ծրագիր ստատիկ փոփոխականներով և ստատիկ մեթոդով
Ըստ վերոնշյալ ծրագրի՝ A դասը պարունակում է թվային փոփոխական և ցուցադրման եղանակ։ Երկուսն էլ ստատիկ անդամներ են: Հետևաբար, անհրաժեշտ չէ ստեղծել օբյեկտ՝ թվի փոփոխականին և ցուցադրման եղանակին մուտք գործելու համար։ Ծրագրավորողը կարող է ուղղակիորեն գրել դասի անունը՝ համարը տպելու և մեթոդի ցուցադրումը կանչելու համար: Այսպիսով, կարիք չկա օբյեկտի օրինականացման:Եթե թվի փոփոխականը և ցուցադրման եղանակը ոչ ստատիկ են, ապա պետք է լինի A տիպի օբյեկտ:
Նկար 02. Ստատիկ բլոկի օգտագործում
Վերոնշյալ ծրագիրը պարունակում է ստատիկ բլոկ և հիմնական մեթոդ: Ստատիկ բլոկը կանչվում է, երբ դասը բեռնված է: Հետևաբար, ստատիկ բլոկի հայտարարությունը կատարվում է հիմնական բլոկի հայտարարությունից առաջ: Եթե կան շատ ստատիկ բլոկներ, դրանք կգործարկվեն հաջորդականությամբ:
Ի՞նչ է վերջնական Java-ում:
Ծրագրում կարող են լինել տարբեր տեսակի փոփոխականներ: Եթե կա փոփոխական int x=1; հետագայում ծրագրում այդ փոփոխական արժեքը կարող է փոխվել այլ արժեքի: Փոփոխականը, որը հայտարարված է որպես վերջնական և սկզբնականացված արժեքով, չի կարող հետագայում փոփոխվել ծրագրում:
Նկար 03. Ծրագիր վերջնական փոփոխականով և ժառանգականությամբ
Ըստ վերոնշյալ ծրագրի, x-ը վերջնական փոփոխական է։ Դրան վերագրվում է 5 արժեք: Այն հնարավոր չէ փոխել որևէ այլ արժեք, քանի որ այն հայտարարված է որպես վերջնական: Java-ն աջակցում է օբյեկտի վրա հիմնված ծրագրավորմանը (OOP): OOP-ի մեկ սյունը պոլիմորֆիզմ է: Պոլիմորֆիզմի մի տեսակ գերակա է: Ա դասը ունի ցուցադրման մեթոդ: B դասը ընդլայնում է A դասը և այն ունի ցուցադրման իր մեթոդը: B տիպի օբյեկտ ստեղծելիս և ցուցադրման մեթոդը կանչելիս որպես ելք կտպվի «B»: A դասի ցուցադրման մեթոդը փոխարինվում է B դասի ցուցադրման եղանակով:
Եթե ծրագրավորողը ինչից պետք է խուսափի մեթոդի գերակայությունից, ապա նա կարող է օգտագործել այդ մեթոդի վերջնական հիմնաբառը: Եթե A դասի ցուցադրման մեթոդը վերջնական է, B-ի ցուցադրման մեթոդը սխալ կցուցաբերի, քանի որ այդ մեթոդը չի կարող վերացվել:
Նկար 04. մեթոդի վերջնական հիմնաբառ
OOP-ի ևս մեկ սյունը ժառանգությունն է: Այն օգնում է նորից օգտագործել արդեն գոյություն ունեցող կոդը: Նոր դասը կարող է տարածվել գոյություն ունեցող դասից և օգտագործել գոյություն ունեցող դասի տվյալների անդամներն ու մեթոդները։ Եթե պահանջվում է դադարեցնել դասի ժառանգումը, ծրագրավորողը կարող է օգտագործել «վերջնական» հիմնաբառը: Տե՛ս ստորև ներկայացված ծրագիրը։
Նկար 05. վերջնական հիմնաբառ դասում
Համաձայն վերոնշյալ ծրագրի՝ Ա դասը հայտարարվում է վերջնական։ Երբ B դասը երկարացնում է A-ն, այն տալիս է սխալ, քանի որ A դասը հայտարարվում է որպես վերջնական: Այն չի կարող ժառանգվել այլ դասերի կողմից:
Ո՞րն է նմանությունը ստատիկի և վերջնականի միջև Java-ում:
Եվ ստատիկ և վերջնական Java-ում հիմնաբառեր են:
Ո՞րն է տարբերությունը ստատիկի և վերջնականի միջև Java-ում:
ստատիկ ընդդեմ եզրափակիչ Java-ում |
|
Ստատիկ հիմնաբառը նշանակում է, որ անդամ փոփոխականին կամ մեթոդին կարելի է մուտք գործել՝ առանց պահանջելու այն դասի օրինակը, որին այն պատկանում է: | Վերջնական հիմնաբառը նշանակում է էություն, որը կարող է նշանակվել միայն մեկ անգամ: |
Փոփոխականներ | |
Ստատիկ փոփոխականները կարող են վերսկսվել: | Վերջնական փոփոխականները չեն կարող վերսկսվել: |
Մեթոդներ | |
Կարելի է կանչվել այլ ստատիկ մեթոդներով և մուտք գործել միայն դասի ստատիկ անդամներին: | Վերջնական մեթոդները չեն կարող անտեսվել: |
Դասարան | |
Ստատիկ դասի օբյեկտը չի կարող ստեղծվել: Այն պարունակում է միայն ստատիկ անդամներ: | Վերջնական դասը չի կարող ժառանգվել այլ դասերի կողմից: |
Արգելափակել | |
Ստատիկ հիմնաբառը կարող է օգտագործվել բլոկում: | Վերջնական հիմնաբառը չի օգտագործվում բլոկի հետ: |
Ամփոփում – ստատիկ ընդդեմ վերջնական Java-ում
Այս հոդվածը քննարկեց Java-ի երկու հիմնաբառեր, ինչպիսիք են ստատիկը և վերջնականը: Java-ում ստատիկի և վերջնականի միջև տարբերությունն այն է, որ ստատիկն օգտագործվում է դասի անդամը սահմանելու համար, որը կարող է օգտագործվել դասի ցանկացած օբյեկտից անկախ, մինչդեռ վերջնականը օգտագործվում է հաստատուն փոփոխական կամ մեթոդ, որը չի կարող վերացվել կամ դաս, որը չի կարող հայտարարվել: ժառանգել.