Sobes.tech
Junior

Kas ir galvenās atslēgas vārdi final un finalize Java valodā, un kādas ir to atšķirības?

sobes.tech AI

Atbilde no AI

Java valodā final un finalize ir dažādi jēdzieni ar dažādiem mērķiem:

  • final ir atslēgas vārds, kas tiek izmantots, lai deklarētu:
    • Konstantes (mainīgos, kuras nevar mainīt pēc inicializācijas).
    • Metodes, kuras nevar pārrakstīt apakšklasēs.
    • Klases, kuras nevar manto.

Piemērs:

final int x = 10; // x nevar tikt mainīts
final class MyClass {} // klase nevar tikt manto
final void myMethod() {} // metode nevar tikt pārrakstīta
  • finalize() ir Object klases metode, kas tiek izsaukta no atkritumu savācēja pirms objekta izņemšanas no atmiņas. Tā ir paredzēta resursu atbrīvošanai, bet tās lietošana nav ieteicama, jo tās izsaukšana nav garantēta un var novest pie neparedzamas uzvedības.

Piemērs:

@Override
protected void finalize() throws Throwable {
    // resursu atbrīvošana
    super.finalize();
}

Atšķirības:

  • final ir atslēgas vārds, kas kontrolē koda modifikāciju.
  • finalize ir metode, kas paredzēta tīrīšanai pirms atkritumu savākšanas, tā ir novecojusi un nav ieteicama lietošanai.