Junior
Čo sú kľúčové slová final a finalize v Jave a v čom sa líšia?
sobes.tech AI
Odpoveď od AI
V Jave sú final a finalize odlišné pojmy s rôznymi účelmi:
finalje kľúčové slovo, ktoré sa používa na deklaráciu:- Konštánt (premenných, ktoré nemožno zmeniť po inicializácii).
- Metód, ktoré nemožno prepísať v podtriedach.
- Tried, ktoré nemožno dediť.
Príklad:
final int x = 10; // x nemožno zmeniť
final class MyClass {} // trieda nemožno dediť
final void myMethod() {} // metódu nemožno prepísať
finalize()je metóda triedyObject, ktorá sa volá od garbage collectora pred odstránením objektu z pamäte. Je určená na uvoľnenie zdrojov, ale jej používanie sa neodporúča, pretože jej volanie nie je garantované a môže viesť k nepredvídateľnému správaniu.
Príklad:
@Override
protected void finalize() throws Throwable {
// uvoľnenie zdrojov
super.finalize();
}
Rozdiely:
finalje kľúčové slovo na kontrolu modifikácie kódu.finalizeje metóda na čistenie pred zberom odpadu, zastaraná a neodporúča sa jej používanie.