Analyse finale approfondie et globale
Java a un mot-clé final, une variable peut être déclarée comme type final et une variable de type final ne peut être attribuée qu'une seule fois. Si une variable finale reçoit une valeur à plusieurs reprises, une erreur de compilation se produira.
Quelle est la signification du mot-clé final ?
final est un mot-clé réservé en Java qui peut déclarer des variables membres, des méthodes, des classes et des variables locales. Une fois que vous avez déclaré une référence finale, vous ne pouvez pas modifier la référence. Le compilateur vérifiera le code et signalera une erreur de compilation si vous essayez d'initialiser à nouveau la variable.
Qu'est-ce qu'une variable finale ?
Toutes les variables membres ou variables locales (les variables dans les méthodes ou les blocs de code sont appelées variables locales) qui sont déclarées finales sont appelées variables finales. Les variables finales sont souvent utilisées avec le mot-clé static comme constantes. Voici un exemple de variable finale :
public static final String LOAN = "loan";
LOAN = new String("loan") //erreur de compilation invalide
les variables finales sont en lecture seule.
Qu'est-ce qu'une méthode finale ?
Final peut également déclarer des méthodes. Ajouter le mot-clé final devant une méthode signifie que cette méthode ne peut pas être remplacée par les méthodes des sous-classes. Si vous pensez que la fonction d'une méthode est suffisamment complète et n'a pas besoin d'être modifiée dans les sous-classes, vous pouvez déclarer la méthode comme finale. Les méthodes finales sont plus rapides que les méthodes non finales car elles sont liées statiquement au moment de la compilation et n'ont pas besoin d'être liées dynamiquement au moment de l'exécution. Voici un exemple de méthode finale :
class PersonalLoan{ public final String getName(){ return "personal loan"; } } class CheapPersonalLoan extends PersonalLoan{ @Override public final String getName(){ return "cheap personal loan"; //compilation error: overridden method is final } }
Qu'est-ce qu'un cours final ?
Une classe modifiée avec final est appelée une classe finale. Les classes finales sont généralement fonctionnellement complètes et ne peuvent pas être héritées. Il existe de nombreuses classes en Java qui sont finales, telles que String, Interger et d'autres classes wrapper. Voici un exemple de la classe finale :
final class PersonalLoan{ } class CheapPersonalLoan extends PersonalLoan{ //compilation error: cannot inherit from final class }
Avantages du mot-clé final
Ce qui suit résume quelques utilisations Avantages du mot-clé final
Le mot-clé final améliore les performances. Les applications JVM et Java mettent en cache les variables finales.
Les variables finales peuvent être partagées en toute sécurité dans un environnement multithread sans surcharge de synchronisation supplémentaire.
En utilisant le mot-clé final, la JVM optimisera les méthodes, les variables et les classes.
Effectivement Final
Une variable sera considérée comme effectivement finale si et seulement si :
Non déclarée comme finale
2 .La valeur. n'est attribué qu'une seule fois
La façon la plus simple d'expliquer efficacement final est d'imaginer qu'il est modifié avec final S'il est modifié de cette manière, le programme s'exécutera toujours sans erreur (si la compilation. passe) ^0^), et est cohérent avec le résultat d'exécution d'origine, alors cette variable peut être considérée comme effectivement finale.
Avantages de final
La restriction des variables locales à des variables immuables valides est conçue pour permettre aux développeurs de mieux gérer la concurrence et le développement thread-safe. Les champs mutables sont toujours une source potentielle de problèmes de concurrence s'ils ne sont pas gérés correctement.
Utilisation du mot-clé final
Je pense que c'est une bonne habitude de déclarer les variables, les paramètres de méthode, etc. comme final. Cela peut être un bon rappel aux autres membres de l'équipe de ne pas le modifier à la légère. Mettez cela de côté, déclarez-le comme final, et le compilateur l'optimisera bien lors de sa compilation dans un fichier de classe.
Il existe de nombreux arguments contre "il est incorrect d'utiliser le mot-clé final dans les fichiers sources pour obtenir l'optimisation des fichiers de classe". Il est fortement recommandé de lire "Hardcore Java 》 Détails sur l'utilisation et l'optimisation des mots-clés finaux.
Dans une application, le mot-clé final rend l'intention de votre code évidente, et il ne sera pas modifié après la déclaration, ce qui est très sûr.
public class FinalTest { public static final int N_ITERATIONS = 10_00_000; public static String testFinal() { final String a = "a"; final String b = "b"; return a + b; } public static String testNonFinal() { String a = "a"; String b = "b"; return a + b; } public static void main(String[] args) { long tStart, tElapsed; tStart = System.currentTimeMillis(); for (int i = 0; i < N_ITERATIONS; i++) testFinal(); tElapsed = System.currentTimeMillis() - tStart; System.out.println("Method with finals took " + tElapsed + " ms"); tStart = System.currentTimeMillis(); for (int i = 0; i < N_ITERATIONS; i++) testNonFinal(); tElapsed = System.currentTimeMillis() - tStart; System.out.println("Method without finals took " + tElapsed + " ms"); } }
Résultats en cours d'exécution :
Method with finals took 5 ms Method without finals took 273 ms
Résumé
final peut rendre les variables que vous déclarez plus sûres, Pour rendez votre code plus clair, Effective Java préconise également l'utilisation de classes immuables.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

La différence entre final, finalement et finaliser en Java nécessite des exemples de code spécifiques. Dans la programmation Java, vous rencontrez souvent les trois mots-clés final, enfin et finaliser. Bien qu'ils soient orthographiés de la même manière, ils ont des significations et des utilisations différentes. Cet article expliquera en détail les différences entre ces trois mots-clés et donnera des exemples de code pour aider les lecteurs à mieux comprendre. 1. Mot-clé final Le mot-clé final peut être utilisé pour les classes, les méthodes et les variables. Sa fonction est de rendre la classe modifiée

Une variable constante est une variable dont la valeur est fixe et dont une seule copie existe dans le programme. Une fois que vous avez déclaré une variable constante et lui avez attribué une valeur, vous ne pouvez plus modifier sa valeur tout au long du programme. Contrairement à d'autres langages, Java ne prend pas directement en charge les constantes. Cependant, vous pouvez toujours créer une constante en déclarant une variable static et final. Statique - Une fois que vous avez déclaré une variable statique, elle sera chargée en mémoire au moment de la compilation, c'est-à-dire qu'une seule copie sera disponible. Final - Une fois que vous avez déclaré une variable finale, sa valeur ne peut plus être modifiée. Par conséquent, vous pouvez créer une constante en Java en déclarant la variable d'instance comme statique et finale. Exemple de démonstration classData{&am

En Java, final peut être utilisé pour modifier des classes, des méthodes et des variables. La classe finale modifiée signifie que la classe ne peut être héritée par aucune autre classe, ce qui signifie que cette classe est une classe feuille dans un arbre d'héritage, et la conception de cette classe a été considérée comme parfaite et n'a pas besoin d'être modifiée ou étendue. La méthode dans la classe finale modifiée signifie que la classe ne peut être héritée par aucune autre classe et ne peut pas être remplacée ; c'est-à-dire que la méthode est verrouillée pour empêcher la classe héritée de la modifier. final modifie une variable dans une classe, indiquant que la variable ne peut pas être modifiée une fois initialisée.

Il existe deux manières de créer des objets finaux en Java : en déclarant une variable finale ou en déclarant une classe à l'aide du modificateur final. Lorsqu'une variable finale est déclarée, l'objet est créé via un initialiseur ; lorsqu'une classe finale est déclarée, l'instance de classe est immuable. Il est important de noter que les références aux objets finaux peuvent toujours changer, mais les objets vers lesquels elles pointent sont immuables.

Les variables finales ne peuvent être explicitement initialisées qu'une seule fois. Une variable de référence déclarée comme Final ne peut jamais être réaffectée pour faire référence à un objet différent. Cependant, les données contenues dans l'objet peuvent être modifiées. Par conséquent, l’état de l’objet peut changer, mais pas la référence. Pour les variables, le modificateur final est généralement utilisé avec static pour faire de la constante une variable de classe. Exemple publicclassTest{ finalintvalue=10; //Voici des exemples de déclaration de constantes : &a

Récemment, ColorOS15 a pris l'initiative de lancer des tests bêta internes. Certains internautes ont exposé l'interface correspondante. Comme vous pouvez le voir sur l'image ci-dessus, certains internautes ont publié l'interface « À propos de cette machine » d'OPPO Find X7. ColorOS15Beta. En plus du grand changement dans le modèle supérieur, les informations de configuration dans la moitié inférieure sont également passées des deux colonnes précédentes à une distribution verticale sur une seule colonne. Vous trouverez ci-joint l'interface « À propos de ce téléphone/téléphone mobile » dans les dernières versions de téléphones mobiles de six marques : Huawei, Honor, Xiaomi, OPPO, vivo et Meizu. Vous pouvez me dire quelle disposition vous préférez concernant ColorOS 15. les nouvelles précédentes indiquaient qu'en plus de prendre en charge les photos en direct LivePhoto à grande échelle, il « prendra également en charge AirDrop&

Récemment, ColorOS15 a pris l'initiative de lancer des tests bêta internes. Certains internautes ont exposé l'interface correspondante. Comme vous pouvez le voir sur l'image ci-dessus, certains internautes ont publié l'interface « À propos de cette machine » d'OPPO Find X7. ColorOS15Beta. En plus du grand changement dans le modèle supérieur, les informations de configuration dans la moitié inférieure sont également passées des deux colonnes précédentes à une distribution verticale sur une seule colonne. Vous trouverez ci-joint l'interface « À propos de ce téléphone/téléphone mobile » dans les dernières versions de téléphones mobiles de six marques : Huawei, Honor, Xiaomi, OPPO, vivo et Meizu. Vous pouvez me dire quelle disposition vous préférez concernant ColorOS 15. les nouvelles précédentes indiquaient qu'en plus de prendre en charge les photos en direct LivePhoto à grande échelle, il « prendra également en charge AirDrop&

PHP est un langage de script open source côté serveur largement utilisé dans le développement Web. Le langage PHP est non seulement facile à apprendre et à utiliser, mais il prend également en charge une variété de paradigmes de programmation, programmation orientée objet, programmation fonctionnelle, etc. En PHP, il existe des mots-clés de syntaxe spéciaux, tels que Static, Final, Abstract, etc., qui ont des fonctions spéciales dans la programmation orientée objet. Cet article présentera ces mots-clés en détail. Mot-clé Static En PHP, le mot-clé Static a deux utilisations
