Sobes.tech
Junior

Java'da final va finalize kalit so'zlari nima va ularning farqlari nima?

sobes.tech AI

AIdan javob

Java'da finalfinalize fərqli anlayışlardır və müxtəlif məqsədlərə xidmət edir:

  • final açar sözüdür və aşağıdakı üçün istifadə olunur:
    • Sabitlər (dəyişməz dəyişənlər).
    • Subsiniflərdə yenidən yazıla bilməyən metodlar.
    • Miras alınmayan siniflər.

Nümunə:

final int x = 10; // x dəyişdirilə bilməz
final class MyClass {} // sinif miras alınmaz
final void myMethod() {} // metod yenidən yazıla bilməz
  • finalize() isə Object sinifinin metodudur və yaddaşdan silinməzdən əvvəl çöp toplayıcı tərəfindən çağırılır. Resursların sərbəst buraxılması üçün nəzərdə tutulub, lakin istifadə tövsiyə edilmir, çünki çağırış təmin edilmir və gözlənilməz davranışlara səbəb ola bilər.

Nümunə:

@Override
protected void finalize() throws Throwable {
    // resursları azad et
    super.finalize();
}

Fərqlər:

  • final kodun dəyişdirilməsini idarə etmək üçün açar sözdür.
  • finalize isə tullantıların toplanmasından əvvəl təmizləmə üçün istifadə olunan, köhnə və tövsiyə edilməyən metoddur.