Junior
Калидвожаҳои асосии final ва finalize дар Java чистанд ва фарқиятҳои онҳо дар чист?
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— методи тозакунӣ пеш аз ҷамъоварии партовҳо, кӯҳна ва тавсия дода намешавад.