Différence entre statique et final en Java

Différence clé - statique vs final en Java
 

Chaque langage de programmation a une syntaxe spécifique. Le programmeur doit suivre ces syntaxes lors de l’écriture de programmes. Les mots-clés des langages de programmation ont des significations spécifiques en fonction des tâches. Ils sont fournis par le langage de programmation et ne peuvent pas être utilisés pour des variables, méthodes, classes définies par l'utilisateur., etc. Le statique et le final sont deux mots-clés en Java. Cet article explique la différence entre statique et final en Java. le différence clé entre statique et finale en Java est que static est utilisé pour définir le membre de la classe qui peut être utilisé indépendamment de tout objet de la classe, tandis que final est utilisé pour déclarer une variable constante ou une méthode qui ne peut pas être remplacée ou une classe qui ne peut pas être héritée..

CONTENU

1. Vue d'ensemble et différence clé
2. Qu'est-ce qui est statique en Java?
3. Ce qui est final en Java
4. Similitudes entre statique et final en Java
5. Comparaison côte à côte - statique vs final en Java sous forme tabulaire
6. Résumé

Qu'est-ce qui est statique en Java??

Une classe est composée de membres de données (attributs) et de méthodes. Pour appeler les méthodes, il devrait y avoir un objet de cette classe spécifique. Lorsqu'une méthode est déclarée statique, il n'est pas nécessaire de créer un objet pour l'appeler. La méthode peut être appelée en utilisant le nom de la classe. Voir le programme ci-dessous.

Figure 01: Programme Java avec variables statiques et méthode statique

Selon le programme ci-dessus, la classe A contient une variable numérique et un procédé d'affichage. Les deux sont des membres statiques. Par conséquent, il n'est pas nécessaire de créer un objet pour accéder à la variable numérique et à la méthode d'affichage. Le programmeur peut écrire directement le nom de la classe pour imprimer le numéro et appeler l'écran de la méthode. Donc, il n'est pas nécessaire d'instancier un objet. Si la variable numérique et la méthode d'affichage sont non statiques, un objet de type A doit exister..

Figure 02: Utilisation d'un bloc statique

Le programme ci-dessus contient le bloc statique et la méthode principale. Le bloc statique est appelé lorsque la classe est chargée. Par conséquent, l'instruction du bloc statique est exécutée avant celle du bloc principal. S'il y a beaucoup de blocs statiques, ils s'exécuteront en séquence.

Ce qui est final en Java?

Dans le programme, il peut y avoir des variables de différents types. S'il y a une variable comme int x = 1; plus tard dans le programme, cette valeur de variable peut être changée en une autre valeur. Une variable déclarée comme finale et initialisée avec une valeur ne peut pas être modifiée ultérieurement dans le programme.

Figure 03: Programme avec variable finale et héritage

Selon le programme ci-dessus, x est une variable finale. On lui attribue une valeur 5. On ne peut pas changer une autre valeur car elle est déclarée comme finale. Java prend en charge la programmation orientée objet (OOP). Un des piliers de la POO est un polymorphisme. Un type de polymorphisme est prépondérant. La classe A a la méthode d'affichage. La classe B étend la classe A et possède sa propre méthode d'affichage. Lors de la création d'un objet de type B et de l'appel de la méthode d'affichage, le résultat «B» est imprimé. La méthode d'affichage de la classe A est remplacée par la méthode d'affichage de la classe B.

Si le programmeur évite de surcharger une méthode, il peut utiliser le mot-clé final pour cette méthode. Si la méthode d'affichage de la classe A est finale, la méthode d'affichage de B donnera une erreur car cette méthode ne peut pas être remplacée.

Figure 04: mot clé final dans la méthode

L'héritage est un autre pilier de la POO. Cela aide à réutiliser le code déjà existant. La nouvelle classe peut s'étendre à partir de la classe existante et utiliser les membres de données et les méthodes de la classe existante. S'il est nécessaire d'arrêter d'hériter d'une classe, le programmeur peut utiliser le mot-clé 'final'. Voir le programme ci-dessous.

Figure 05: mot-clé final de la classe

Selon le programme ci-dessus, la classe A est déclarée comme finale. Lorsque la classe B s'étend A, cela donne une erreur car la classe A est déclarée comme finale. Il ne peut pas être hérité par d'autres classes.

Quelle est la similarité entre statique et final en Java?

  • Les mots statique et final sont des mots-clés en Java.

Quelle est la différence entre statique et final en Java?

statique vs final en Java

Le mot clé statique indique qu'une variable membre, ou une méthode, peut être accessible sans requérir une instanciation de la classe à laquelle elle appartient. Le mot-clé final désigne une entité qui ne peut être attribuée qu'une seule fois..
 Variables
Les variables statiques peuvent être réinitialisées. Les variables finales ne peuvent pas être réinitialisées.
Les méthodes
Peut être appelé par d'autres méthodes statiques et accéder uniquement aux membres statiques de la classe. Les méthodes finales ne peuvent pas être remplacées.
Classe
L'objet de classe statique ne peut pas être créé. Il ne contient que des membres statiques. La classe finale ne peut pas être héritée par d'autres classes.
Bloc
Le mot clé static peut être utilisé dans un bloc. Le mot-clé final n'est pas utilisé avec un bloc.

Résumé - statique vs final en Java

Cet article traite de deux mots-clés en Java, tels que statique et final. La différence entre static et final en Java est que static est utilisé pour définir le membre de la classe qui peut être utilisé indépendamment de tout objet de la classe, tandis que final est utilisé pour déclarer une variable constante ou une méthode qui ne peut pas être remplacée ou une classe qui ne peut pas. être hérité.

Référence:

1.Qu'est ce qu'un mot clé statique en Java | méthode statique et variable statique, Telusko Learnings, 6 mars 2015. Disponible ici  
2.7.16 Tutoriel sur l'utilisation du bloc statique en Java, Telusko Learnings, 30 avril 2015. Disponible ici
3.8.13 Comment utiliser le mot clé final en Java | Méthode, classe et variable, Telusko Learnings, 26 février 2015. Disponible ici