Différence entre statique et final en Java

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 les variables définies par l'utilisateur, les méthodes, les classes, etc. Les statiques et finaux sont deux mots clés en Java. Cet article traite de la différence entre statique et final en Java. Le différence clé entre statique 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ée.

CONTENU

1. Aperçu et différence clé
2. Qu'est-ce qui est statique en java
3. Qu'est-ce qui est final à Java
4. Similitudes entre statique et final en Java
5. Comparaison côte à côte - statique vs finale en java sous forme tabulaire
6. Résumé

Qu'est-ce qui est statique en java?

Une classe se compose de membres de données (attributs) et de méthodes. Afin d'appeler les méthodes, il devrait y avoir un objet de cette classe spécifique. Lorsqu'une méthode est déclarée statique, elle n'est pas nécessaire pour créer un objet pour appeler cette méthode. La méthode peut être appelée en utilisant le nom de classe. Référer 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 de nombre et une méthode 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 de nombre et à la méthode d'affichage. Le programmeur peut écrire directement le nom de classe pour imprimer le numéro et appeler l'affichage de la méthode. Donc, il n'est pas nécessaire d'instancier un objet.  Si la variable de nombre et la méthode d'affichage sont non statiques, il devrait y avoir un objet de type A.

Figure 02: Utilisation du 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 dans le bloc statique s'exécute avant l'instruction dans le bloc principal.  S'il y a beaucoup de blocs statiques, ils s'exécuteront en séquence.

Qu'est-ce qui est final à 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 variable peut être changée à une autre valeur. Une variable déclarée finale et initialisée avec une valeur ne peut pas être modifiée plus tard dans le programme.

Figure 03: Programme avec variable finale et héritage

Selon le programme ci-dessus, X est une variable finale. Il est attribué une valeur 5. Il ne peut pas être modifié une autre valeur car il est déclaré final. Java prend en charge la programmation orientée objet (OOP). Un pilier d'OOP est un polymorphisme. Un type de polymorphisme est remplacé. La classe A a la méthode d'affichage. La classe B étend la classe A et il a sa propre méthode d'affichage. Lors de la création d'un objet de type B et de l'appel, la méthode d'affichage imprimera «B» comme sortie. 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 ce qui doit éviter de remplacer 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 en B donnera une erreur car cette méthode ne peut pas être remplacée.

Figure 04: Mot-clé final dans la méthode

Un autre pilier de la POO est l'héritage. Il 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 pour arrêter l'héritage d'une classe, le programmeur peut utiliser le mot-clé «final». Référer le programme ci-dessous.

Figure 05: Mot-clé final dans la classe

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

Quelle est la similitude entre statique et finale en Java?

  • Statique et finale sont des mots clés en Java.

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

statique vs finale en java

Le mot-clé statique indique qu'une variable membre, ou méthode, peut être accessible sans nécessiter d'instanciation de la classe à laquelle il appartient. Le mot-clé final indique une entité qui ne peut être affectée qu'une seule fois.
 Variables
Les variables statiques peuvent être réinitialisées. Les variables finales ne peuvent pas être réinitialisées.
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é statique 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 a discuté de deux mots clés en Java tels que statique et final. La différence entre statique et final en Java est que statique est utilisée 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.Quel est le mot-clé statique dans Java | Méthode statique et variable statique, apprentissages Telusko, 6 mars. 2015. Disponible ici  
2.7.16 Comment utiliser Static Block in Java Tutorial, Telusko Learnings, 30 avril. 2015. Disponible ici
3.8.13 Comment utiliser le mot-clé final dans Java | Méthode, classe et variable, Telusko Learnings, 26 février. 2015. Disponible ici