Junior
Šta su ključne reči final i finalize u Javi i u čemu se razlikuju?
sobes.tech АИ
Одговор од АИ
U Javi, final i finalize su različiti pojmovi sa različitim namerama:
finalje ključna reč koja se koristi za deklarisanje:- Konstanti (promenljive koje se ne mogu menjati nakon inicijalizacije).
- Metoda koje se ne mogu prepisivati u podklasama.
- Klasa koje se ne mogu naslediti.
Primer:
final int x = 10; // x se ne može menjati
final class MyClass {} // klasa se ne može naslediti
final void myMethod() {} // metoda se ne može prepisati
finalize()je metoda klaseObject, koja se poziva od strane sakupljača smeća pre uklanjanja objekta iz memorije. Namenjena je oslobađanju resursa, ali se ne preporučuje njena upotreba, jer njen poziv nije garantovan i može dovesti do nepredvidivog ponašanja.
Primer:
@Override
protected void finalize() throws Throwable {
// oslobađanje resursa
super.finalize();
}
Razlike:
finalje ključna reč za kontrolu modifikacije koda.finalizeje metoda za čišćenje pre sakupljanja smeća, zastarela i ne preporučuje se za upotrebu.