Sobes.tech
Middle

Java-da final və finalize açar sözləri nədir və onların fərqi nədir?

sobes.tech Süni İntellekt

AI-dan cavab

final - dəyişməzliyi göstərmək üçün açar söz:

  • Dəyişən: Referans və ya dəyər ilkinləşdirmədən sonra dəyişdirilə bilməz.
  • Metod: Metod törəmə sinifdə yenidən təyin oluna bilməz.
  • Sinif: Sinif miras alınmaz.

finalize() - obyekt yaddaşdan silinməzdən əvvəl çöp toplayıcı (Garbage Collector) tərəfindən çağırılan metod. O, Object sinifində yerləşir və xarici resursların azad olunması üçün nəzərdə tutulub.

Fərqlər:

final finalize()
Açar söz Metod
Dəyişməzliyi göstərir Obrazın silinməsindən əvvəl çağırılır
Deklarasiya ilə əlaqəli Obrazın həyat dövrü ilə əlaqəli
Dəyişənlərə, metodlara, siniflərə tətbiq edilir Yalnız obyektlərə tətbiq edilir

final istifadə nümunəsi:

public class FinalExample {
    final int finalVariable = 10;

    final void finalMethod() {
        // dəyişməz metod loqikası
    }
}

final class FinalClass {
    // məzmun
}

finalize() istifadə nümunəsi:

public class FinalizeExample {
    @Override
    protected void finalize() throws Throwable {
        try {
            // xarici resursların təmizlənməsi, məsələn, əlaqəni bağlamaq
            System.out.println("FinalizeExample obyektinin sonlandırılması...");
        } finally {
            super.finalize(); // Həmişə super.finalize() çağırın
        }
    }
}

Vacib: finalize() istifadəsi müasir Java-da tövsiyə edilmir, çünki onun icra vaxtı qeyri-müəyyən və performans problemlərinə səbəb ola bilər. Resursların idarə olunması üçün try-with-resources bloklarından istifadə etmək daha yaxşıdır.