Tot el que heu de saber sobre Final, Final i Finalize en Java



Aquest article sobre Final, Final i Finalize a Java us proporcionarà una llista completa de diferències entre les paraules clau Final, Final i Finalize juntament amb implementacions pràctiques.

Si teniu alguna experiència prèvia de , aleshores us hauríeu adonat que els entrevistadors solen fer preguntes complicades que normalment es recullen dels conceptes bàsics. Una d’aquestes preguntes que es fa principalment és diferenciar entre final, finalment i finalitzar a . Mitjançant aquest article, dibuixaré una línia clara entre final, finalment i final a Java que us ajudarà a obtenir millors coneixements.

En aquest article tractaré els temes següents:





Comencem, doncs, amb la primera paraula clau final, finalment i finalitzem a Java.

Paraula clau final

A Java, final és una paraula clau que també es pot utilitzar com a modificador d’accés. Dit d’una altra manera, la paraula clau final s’utilitza per restringir l’accés d’un usuari. Es pot utilitzar en diversos contextos com:



  1. final Variable
  2. Mètode final
  3. Classe final

Amb cadascun d’aquests, la paraula clau final té un efecte diferent. Vegem ara com afecta cadascun d’ells un per un.

1. Final Variable

Sempre que la paraula clau final de s'utilitza amb una variable, un camp o un paràmetre, vol dir que una vegada que es transmet la referència o es fa la instància, el seu valor no es pot canviar durant l'execució del programa. En cas que a sense que cap valor s'hagi declarat final, es coneix com a variable final en blanc / no inicialitzada i només es pot inicialitzar a través d'un constructor.

Vegem ara un exemple.



classe pública A {int var1 = 123 // declaració de variables finals final int var2 = 345 final int var3 // Intentant inicialitzar una variable final en blanc var = 555 // Error A () {var1 = 111 // No hi ha error var2 = 333 // Error de compilació // Inicialització d'una variable final en blanc var3 = 444 // Sense error} // passant paràmetres finals void avg (int param1, final int param2) {param1 = 2345 // No hi ha error param2 = 1223 // Error de compilació} // declarar els camps finals buits mostrar () {final int fieldVal = 300000 fieldVal = 400000 // Error}}

Així, doncs, es tractava de com afecta la paraula clau final a una variable. Vegem ara com afecta un mètode.

2. Mètode final

A Java, sempre que es declara un mètode com a final, no pot ser-ho per qualsevol classe infantil durant l'execució del programa.

Vegem un exemple.

// MÈTODE FINAL classe A {final void method_abc () {System.out.println ('Aquest és un mètode final i no es pot anul·lar')} void method_xyz () {System.out.println ('Aquest és un mètode normal i es pot anul·lar ')}} la classe B s'estén A {void method_abc {// Error de temps de compilació} void method_xyz () {System.out.println (' Aquest és un mètode anul·lat a la classe B ')}}

Fins ara ja heu vist els resultats de declarar una variable i un mètode final, ara podem avançar i veure què passa quan una classe es declara final a Java.

3. Classe final

A Java, sempre que es declara una classe com a final, no pot ser-ho . Això es deu al fet que, una vegada que una classe es declari com a final, tots els membres i mètodes de dades continguts a la classe es declararan implícitament com a definitius. A més, un cop es declara una classe com a final, ja no es pot declarar com a abstracta. En altres paraules, una classe pot ser una de les dues, final o abstracta.

Vegem un exemple.

// CLASSE FINAL classe final A {// cos de classe} classe B amplia A {// Error de compilació // cos de classe}

Espero que ja hagueu entès clarament el funcionament de la paraula clau final. Per tant, continuem amb aquest article sobre final, finalment i finalitzem a Java per esbrinar el paper de la paraula clau finalment.

Finalment Bloqueja

A Java, finalment és un bloc opcional que s'utilitza per a . Generalment va precedit d’un bloc de prova. Finalment, el bloc s'utilitza per executar un codi important com la neteja de recursos o alliberar l'ús de la memòria, etc. Un bloc final s'executarà independentment del fet que es tracti o no d'una excepció. Per tant, embolicar els codis de neteja en un bloc finalment es considera una bona pràctica. També podeu utilitzar-lo amb un bloc de prova sense necessitat de cap bloc de captura.

Vegem ara un exemple del mateix.

classe A {public static void main (String args []) {try {System.out.println ('Try Block') llança una nova captura Exception ()} (Exception e) {System.out.println ('Catch Block') } finalment {System.out.println ('Finalment bloqueja')}}}

Fins ara, ja he comentat les paraules clau finals i finalment a Java. Ara anem a donar una mica de llum sobre l’última paraula clau de les tres, és a dir, finalitzar la paraula clau a Java.

Finalitzar el mètode

Finalize és un mètode protegit no estàtic que es defineix a la classe Object i que està disponible per a tots els objectes de Java.Aquest mètode ésanomenat pel recollidor d’escombraries abans que un objecte sigui completament destruït.Com de vegades,un potser hauríeu de completar algunes tasques importants com tancar una connexió oberta, alliberar un recurs, etc. abans que es destrueixi. Si no es fan aquestes tasques, pot disminuir l'eficiència del programa. Així, elrecollidor d'escombraries l'anomena per als objectes que ja no es fan referència i que s'han marcat per a la recollida d'escombraries.

Aquest mètode es declara protegit per restringir-ne l'ús des de fora de la classe. Però podeu substituir-lo des de la classe per definir-ne les propietats en el moment de la recollida de deixalles.

declarant una matriu d'objectes a Java

Vegem-ne un exemple.

classe pública A {public void finalize () throws Throwable {System.out.println ('L'objecte és destruït pel col·leccionista de deixalles')} public static void principal (String [] args) {Edureka test = new Edureka () test = null System.gc ()}}

Amb això, arribem al final d’aquest article sobre final, finalment i finalitzem a Java. Per concloure, he afegit una comparació entre les tres paraules clau que us ajudarà a obtenir les principals diferències d'un cop d'ull.

Taula de comparació: Final vs Final vs Finalize Keywords a Java

factor final Finalment Finalitzar
Definició Final és una paraula clau i s’utilitza com a modificador d’accés a JavaFinalment hi ha un bloc a Java que s’utilitza per al maneig d’excepcionsFinalize és un mètode en Java utilitzat per a la recollida de deixalles
Aplicació Final a Java s’utilitza amb variables, mètodes i classes per establir permisos d’accésFinalment, s'utilitza el bloc juntament amb un bloc de prova i capturaEl mètode Finalize a Java s’utilitza amb objectes que ja no s’utilitzen
Funció La variable final de Java és una constant el valor del qual no es pot canviar un cop assignada.

Les seves classes secundàries no poden anul·lar el mètode final a Java.

La classe final a Java no pot ser heretada per cap classe infantil.

Finalment, el bloc de Java ajuda a netejar els recursos que s’han utilitzat al bloc de provaEl mètode Finalize ajuda a netejar les activitats de l'objecte abans que el col·lector d'escombraries el destrueixi
Execució S’executa quan el compilador l’invocaS'executa just després de l'execució del bloc try-catchS’executa just abans que un objecte sigui destruït

Espero que a través d’aquest Final, Final i Finalize a Java, he pogut esborrar els conceptes i ajudar-lo a afegir valor als seus coneixements.

Si heu trobat aquest article sobre “Final, Final i Finalize a Java 'Rellevant, fes un cop d'ull al per Edureka, una empresa d'aprenentatge en línia de confiança amb una xarxa de més de 250.000 estudiants satisfets repartits per tot el món. Tens alguna pregunta? Esmenta’l a la secció de comentaris d’aquest document Final, Final i Finalize en Java i ens posarem en contacte amb vosaltres.