Quelle est la différence entre statique et final

La principale différence entre statique et final est que le static est utilisé pour définir le membre de la classe qui peut être utilisé indépendamment de tout objet de la classe. En revanche, 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.

Static et final sont deux mots-clés utilisés dans de nombreux langages de programmation prenant en charge l'orientation Orientation, tels que Java. La statique est utilisée avec des variables et des méthodes pour définir qu'elle appartient à la classe et non à l'objet. En revanche, final est utilisé pour empêcher l’utilisateur d’accéder à une variable, une méthode ou une classe..

Zones clés couvertes

1. Quel est statique
     - Définition, fonctionnalité
2. Quelle est la finale
     - Définition, fonctionnalité
3. Quelle est la différence entre statique et final
     - Comparaison des différences clés

Mots clés

Classe, Variable finale, Variable statique

Qu'est-ce que la statique?

Une classe est composée de variables et de méthodes. Un objet est créé à partir d'une classe. Cet objet peut être utilisé pour appeler des variables et des méthodes. Lorsqu'un membre de classe est déclaré avec static, il n'est pas nécessaire de créer un objet pour appeler des méthodes et des variables. Au lieu de cela, le nom de la classe peut être utilisé pour l'appeler. En d'autres termes, statique est un mot clé qui appartient à la classe plutôt qu'à l'objet..

Une variable avec le mot clé static est appelée une variable statique. Ils sont utilisés pour faire référence à une propriété commune d'une collection d'objets. Ces variables obtiennent de la mémoire au moment du chargement de la classe. Le principal avantage d'une variable statique est qu'elle permet d'économiser de la mémoire..

Figure 1: Variable statique

Dans le programme ci-dessus, il existe une variable statique appelée count. Dans le constructeur, le nombre est incrémenté de 1. Dans le programme principal, trois objets étudiant sont créés. Imprimer le compte donnera le résultat 3 car il y a trois objets. La variable count est partagée par tous les objets. Chaque fois qu'un objet est créé, le compte est incrémenté de un. Lors de l'affichage du nombre, il doit être écrit avec le nom de la classe (par exemple, Student.count)..

Une méthode avec le mot clé static est appelée méthode statique. Un exemple est comme suit.

Figure 2: Méthode statique

Dans le programme ci-dessus, square est une méthode statique. Il reçoit une valeur entière. Dans la méthode principale, la méthode statique est appelée et la valeur 4 est transmise. La réponse de la méthode est stockée dans la variable result et est finalement imprimée. Ici, le nom de la classe est utilisé pour accéder à la méthode statique. (par exemple - Calculate.square (4)). D'autre part, les méthodes statiques ne peuvent pas utiliser des membres de données non statiques ni appeler directement des méthodes non statiques. L'évaluation d'une variable non statique par une méthode statique donnera une erreur de compilation.

Quelle est la finale

Final est un mot clé pour restreindre l'utilisateur. Il peut être utilisé dans des variables, des méthodes et des classes. Une valeur d'une variable finale ne peut pas être changée.

Figure 3: Variable finale

Dans le programme ci-dessus, la variable speedLimit est déclarée comme finale. Par conséquent, sa valeur ne peut pas être modifiée dans la méthode de lecteur. Donc, il affiche une erreur. 

Figure 4: Classe A

Figure 5: Classe B

Dans le programme ci-dessus, la classe A a une méthode finale appelée display. La classe B est étendue à A. Ainsi, la classe B peut hériter de toutes les variables et méthodes de la classe A. La classe B affiche également la méthode. Comme la méthode d’affichage de la classe A est finale, elle ne permet pas de remplacer cette méthode en classe B..

De plus, une dernière classe ne peut être étendue comme suit.

Figure 6: classe finale

Figure 7: Classe B

Comme la classe A est finale, elle ne peut pas être étendue ou héritée par la classe B.

Différence entre statique et final

Définition

Statique est un mot clé qui désigne une variable membre ou une méthode accessible sans requérir une instanciation de la classe à laquelle elle appartient. En revanche, final est un mot clé qui désigne une entité qui ne peut être attribuée qu'une seule fois. Cela explique donc la différence fondamentale entre statique et final.. 

Variables

Bien que les variables statiques puissent être à nouveau initialisées, les variables finales ne peuvent plus être initialisées. Ceci est une différence majeure entre statique et final. 

Les méthodes

Les méthodes statiques peuvent être appelées par d'autres méthodes statiques et accéder uniquement aux membres statiques de la classe. D'autre part, les méthodes finales ne peuvent pas être remplacées. Ceci est une autre différence importante entre statique et finale.

Classe

Un objet ne peut pas être créé à partir d'une classe statique; il se compose uniquement de membres statiques. De même, les classes finales ne peuvent pas être héritées par d'autres classes.

Conclusion

Statique est utilisé pour définir le membre de la classe qui peut être utilisé indépendamment de tout objet de la classe. 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. C’est la principale différence entre statique et final.

Référence:

1. “Mot clé statique en Java - Javatpoint.” Www.javatpoint.com, disponible ici.
2. “Mot-clé final en Java - Javatpoint.” Www.javatpoint.com, disponible ici.