Diferència clau: final vs finalment vs finalització a Java
El final, finally i finalize són termes comuns utilitzats a la programació Java. La final és una paraula clau. Es pot utilitzar per a variables, mètodes o classes. Les variables declarades com a finals s'han d'inicialitzar només una vegada. No es poden canviar. Com que Java és un llenguatge que admet la programació orientada a objectes, permet crear classes a partir de classes existents per millorar la reutilització del codi. De vegades, pot ser necessari evitar l'ús de les classes existents. Per a això, es pot utilitzar final. A la programació, hi pot haver errors, i és important gestionar-los per executar el programa correctament. Finalize és un mètode anomenat pel col·lector d'escombraries. Per tant, tots aquests termes tenen significats diferents en conseqüència. La final és una paraula clau que evita el canvi de variables, evita la substitució de mètodes i evita ampliar les classes. L'últim és un bloc en el maneig d'excepcions, que s'executarà tant si es llança una excepció com si no. Finalize és un mètode, cridat pel col·lector d'escombraries abans que destrueixi completament l'objecte. Aquesta és la diferència clau per fi i finalitzar a Java.
Què és el final a Java?
La final és una paraula clau a Java. Com que Java admet la programació orientada a objectes, les subclasses poden utilitzar les variables i mètodes d'una classe ja existent. La classe ja existent és la superclasse mentre que la nova classe és la subclasse. Si el programador vol evitar que la variable sigui accessible per altres classes, pot declarar la variable com a "final". Per exemple, suposem que hi ha una variable com p. Es declara com a final i inicialitza el valor 10.per exemple. final int p=10. Si el valor p es canvia de nou a 20, provocarà un error en temps de compilació. La paraula clau final impedeix canviar el valor de la variable.
Una classe pot utilitzar un mètode que ja es troba en una classe existent. Suposem que hi ha una classe anomenada B que té un mètode display(). La nova classe és C i amplia la classe B. Si la classe C també té un mètode anomenat display(), llavors el mètode display() de la classe B original s'invalida. Si el programador vol evitar que el mètode anul·li, finalment pot utilitzar la paraula clau. per exemple. visualització buida final (){ }. Fer un mètode definitiu garanteix que la funcionalitat del mètode mai s' alterarà.
Figura 01: final, finalment i finalització
També és possible utilitzar la paraula clau final per a una classe. La nova classe no pot heretar variables i mètodes d'una classe final. Això és útil per augmentar la seguretat. Com que les subclasses impedeixen l'ús de la classe, les dades estan protegides.
Què hi ha finalment a Java?
A la programació, hi pot haver errors. Els errors poden provocar sortides incorrectes o acabar amb l'execució d'un programa. És important utilitzar algun tipus de mecanisme per evitar aquests resultats inesperats. Els errors poden ser de dos tipus. Són errors de temps compilats i errors d'execució. Els errors de temps de compilació es produeixen a causa d'errors sintàctics. Alguns errors habituals en temps de compilació són que f alten el punt i coma, les claus, els identificadors d'ortografia, les paraules clau i les variables no declarades. El compilador no crearà el fitxer.class fins que no es solucionin aquests errors.
De vegades hi pot haver programes que es compilen correctament però que donen una sortida incorrecta. S'anomenen errors d'execució. Alguns errors d'execució habituals són submergir un nombre enter per zero i accedir a un element que està fora dels límits d'una matriu. Aquests errors no provocaran un error en temps de compilació, però la sortida és incorrecta. Una excepció és una condició causada per un error d'execució del programa.
Quan hi ha un error d'execució, Java crea un objecte d'excepció i el llança. Si l'objecte d'excepció no es captura correctament, mostrarà un missatge d'error i finalitzarà el programa. Si el programador vol continuar l'execució del programa amb la resta del codi, hauria d'atrapar l'objecte d'excepció i mostrar el missatge necessari per a l'acció correctiva. Aquest procés es coneix com a gestió d'excepcions.
A Java, try s'utilitza per al codi que pot provocar un error i llançar una excepció. El catch s'utilitza per gestionar l'excepció llançada pel bloc try. Hi pot haver diverses declaracions de captura. Les sentències finally es poden utilitzar per gestionar una excepció que no és capturada per cap de les sentències catch anteriors. El bloc final s'executarà tant si es llança una excepció com si no. Consulteu l'exemple donat.
int p=10, q=5, r=5;
int resposta;
prova{
resposta=p / (q – r);
}
catch (ArithmeticException e){
System.out.println(“Dividit per zero”);
}
finalment{
System.out.println(“S'ha executat el bloc final”);
}
Segons l'exemple anterior, el valor p es divideix per zero i provocarà una excepció. Per tant, queda atrapat per la declaració catch. Imprimirà el missatge, Dividit per zero. El bloc final s'executarà tant si s'ha produït una excepció com si no. Després del missatge Dividit per zero, es mostrarà el missatge dins del bloc finally. Per tant, finalment és un bloc utilitzat en la gestió d'excepcions.
Què es finalitza a Java?
A POO, els objectes es creen mitjançant classes. El mètode constructor pot inicialitzar un objecte quan es declara. El procés es coneix com a inicialització. Java també té un concepte anomenat finalització. El temps d'execució de Java és un col·lector automàtic d'escombraries. Allibera automàticament els recursos de memòria utilitzats pels objectes. El col·lector d'escombraries crida a aquest mètode abans de destruir l'objecte.
Alguns objectes poden contenir recursos no objecte. Un exemple és un descriptor de fitxer. En aquestes situacions, el col·lector d'escombraries crida al mètode finalize. per exemple. finalitzar (). Aquest mètode realitza un processament de neteja just abans que l'objecte es reculli les escombraries.
Quina és la similitud entre final, finalment, i finalitzar a Java?
Tot el final, finalment i el final en Java s'utilitzen a la programació Java
Quina diferència hi ha entre final, finalment, i finalitzar a Java?
final vs finally vs finalize |
|
final | La final és una paraula clau en Java que impedeix canviar variables, evitar la substitució de mètodes i evitar l'ampliació de classes. |
finally | El finalment és un bloc en el maneig d'excepcions de Java, que s'executarà tant si es llança una excepció com si no. |
finalitzar | El finalize és un mètode de Java, cridat pel recol·lector d'escombraries abans que destrueixi completament l'objecte. |
Aplicabilitat | |
final | La final és aplicable a variables, mètodes i classes. |
finally | El finalment s'aplica amb un bloc de prova i captura. |
finalitzar | La finalització és aplicable als objectes. |
Resum: final vs finalment vs finalització a Java
El final, finally i finalize són termes comuns utilitzats a la programació Java. Les seves paraules semblen les mateixes, però tenen una diferència. La final és una paraula clau que impedeix canviar variables, evitar la substitució de mètodes i evitar l'ampliació de classes. L'últim és un bloc en el maneig d'excepcions, que s'executarà tant si es llança una excepció com si no. Finalize és un mètode, cridat pel col·lector d'escombraries abans que destrueixi completament l'objecte. Aquesta és la diferència entre final, finally i finalize a la programació Java.
Descarregueu el PDF de final vs finally vs finalize a Java
Podeu descarregar la versió PDF d'aquest article i utilitzar-la per a finalitats fora de línia segons la nota de citació. Si us plau, descarregueu la versió en PDF aquí: Diferència entre final finalment i finalitzeu en Java