Sobes.tech
Junior

Ի՞նչ են Java-ում key-ները final և finalize, և ինչ տարբերություններ ունեն:

sobes.tech AI

Պատասխան AI-ից

Java-յում, final և finalize տարբեր հասկացություններ են, որոնք ունեն տարբեր նպատակներ.

  • final բառը օգտագործվում է հայտարարելու համար՝
    • Կոնստանտներ (փոփոխականներ, որոնք չեն կարող փոխվել ինիցիալիզացիայից հետո):
    • Մեթոդներ, որոնք հնարավոր չէ վերագրել ենթակլասներում:
    • Կլասներ, որոնք հնարավոր չէ ժառանգել:

Օրինակ՝

final int x = 10; // x-ը չի կարող փոխվել
final class MyClass {} // կլասը չի կարող ժառանգել
final void myMethod() {} // մեթոդը չի կարող վերագրել
  • finalize()Object դասի մեթոդ է, որը կանչվում է գարջի հավաքիչի կողմից՝ նախքան օբյեկտի հեռացումը հիշողությունից: Այն նախատեսված է ռեսուրսների ազատման համար, բայց նրա օգտագործումը չի խորհուրդ տրվում, քանի որ նրա կանչումը երաշխավորված չէ և կարող է հանգեցնել անկանխատեսելի վարքագծի:

Օրինակ՝

@Override
protected void finalize() throws Throwable {
    // ռեսուրսների ազատում
    super.finalize();
}

Տարբերություններ՝

  • final բառը օգտագործվում է կոդի փոփոխության վերահսկման համար:
  • finalize — մեթոդ է, որը օգտագործվում է մաքրման համար՝ նախքան աղբի հավաքումը, և հնացած է, և չի խորհուրդ տրվում օգտագործել:

Լրացուցիչ նշում: Այս թարգմանությունները տրամադրված են ըստ լեզվի և մշակույթի համապատասխանության։