Junior
Java-da final və finalize açar sözləri nədir və onların fərqləri nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Java-da final və finalize fərqli anlayışlardır və müxtəlif məqsədlərə xidmət edir:
finalaçar sözüdür və aşağıdakı üçün istifadə olunur:- Sabitlər (dəyişməz dəyişənlər).
- Alt siniflə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əObjectsinifinin 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:
finalkodun dəyişdirilməsini idarə etmək üçün açar sözdür.finalizeisə tullantıların toplanmasından əvvəl təmizləmə üçün istifadə olunan, köhnə və tövsiyə edilməyən metodur.