En Java, à quoi servent les mots clés final
, finally
et finalize
?
Réponses
Trop de publicités?final
final
peut être utilisée pour marquer une variable "immuable"
private final String name = "foo"; //the reference name can never change
final
pouvez également faire une méthode qui n'est pas "remplaçable"
public final String toString() { return "NULL"; }
final
pouvez également faire une classe à ne pas "héritées". c'est à dire la classe ne peut pas être sous-classes.
public final class finalClass {...}
public class classNotAllowed extends finalClass {...} // Not allowed
enfin
finally
est utilisé dans une instruction try/catch pour exécuter un code "toujours"
lock.lock();
try {
//do stuff
} catch (SomeException se) {
//handle se
} finally {
lock.unlock(); //always executed, even if Exception or Error or se
}
Java 7 a un nouvel essai avec la déclaration de ressources que vous pouvez utiliser pour fermer automatiquement les ressources qui, explicitement ou implicitement à mettre en œuvre en java.io.Fermer ou java.lang.AutoCloseable
finaliser
finalize
est appelé lorsqu'un objet est des ordures collectées. Vous aurez rarement besoin de le remplacer. Un exemple:
public void finalize() {
//free resources (e.g. unallocate memory)
super.finalize();
}
- "Final" indique que quelque chose ne peut pas être changé. Vous voulez généralement utiliser ceci sur des variables statiques qui auront la même valeur tout au long de la vie de votre programme.
- "Finally" est utilisé en conjonction avec un bloc try / catch. Tout ce qui est contenu dans la clause "finally" sera exécuté, que le code du bloc "try" lève une exception ou non.
- "Finalize" est appelé par la machine virtuelle avant qu'un objet ne soit sur le point d'être collecté.
http://allu.wordpress.com/2006/11/08/difference-between-final-finally-and-finalize/
final – déclaration de constante.
enfin, Le bloc finally est toujours exécuté lorsque le bloc try sorties, à l'exception du Système.exit(0) appel. Cela garantit que le bloc finally est exécuté, même si une exception inattendue se produit. Mais finalement, est utile pour plus que juste la gestion des exceptions - il permet au programmeur pour éviter d'avoir un code de nettoyage accidentellement court-circuité par un retour, de poursuivre ou de pause. Mettre de nettoyage de code dans un bloc finally est toujours une bonne pratique, même si aucune des exceptions sont prévues.
finalize() – méthode d'aide à la collecte des ordures. Une méthode qui est appelée avant qu'un objet est mis au rebut par le garbage collector, permettant de nettoyer son état. Ne doit pas être utilisé pour libérer les non-mémoire de ressources comme les descripteurs de fichiers, sockets, de connexions de base de données, etc, car Java n'a qu'un nombre fini de ces ressources et vous ne savez pas quand la collecte des ordures est d'aller à coup de pied pour libérer les ressources de la mémoire par le biais de la méthode finalize ().
Avez-vous essayer de chercher sur google, et de besoin d'éclaircissements pour des explications?
Le mot-clé final est utilisé pour déclarer des constantes.
final int FILE_TYPE = 3;
Le mot-clé finally est utilisé dans une instruction try catch pour spécifier un bloc de code à exécuter, quelles que soient les exceptions levées.
try
{
//stuff
}
catch(Exception e)
{
//do stuff
}
finally
{
//this is always run
}
Et enfin (haha), finalize ne suis pas tout à fait sûr que ce soit un mot clé, mais il existe une fonction finalize () dans la classe Object.
finale: final est un mot-clé. La variable decleared comme définitive devrait être initialisé qu'une seule fois et ne peut pas être modifié. Des classes Java déclarée final ne peut pas être prolongé. Les méthodes déclarées comme final ne peut pas être remplacée.
enfin: enfin c'est un bloc. Le bloc finally est toujours exécuté lorsque l' essayez de bloquer les sorties. Cela garantit que le bloc finally est exécuté même si une exception inattendue se produit. Mais finalement, est utile pour plus que juste la gestion des exceptions - il permet au programmeur de éviter d'avoir un code de nettoyage accidentellement court-circuité par un retour, continuer, ou de les casser. Mettre de nettoyage de code dans un bloc finally est toujours une bonne pratique, même si aucune des exceptions sont prévues.
finaliser: finaliser une méthode. Avant qu'un objet est des ordures collectées, l' système d'exécution des appels de sa méthode finalize (). Vous pouvez écrire du système les ressources de la libération code dans la méthode finalize() avant d'arriver à ordures recueillies.