Junior
Java'da final va finalize kalit so'zlari nima va ularning farqlari nima?
sobes.tech AI
AIdan javob
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).
- 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ə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 metoddur.