Différence entre statique et final en Java

Auteur: Laura McKinney
Date De Création: 2 Avril 2021
Date De Mise À Jour: 11 Peut 2024
Anonim
Différence entre statique et final en Java - La Technologie
Différence entre statique et final en Java - La Technologie

Contenu


Static et final sont les mots-clés utilisés en Java. Le membre statique est accessible avant la création de l'objet de classe. Final a un effet différent lorsqu'il est appliqué à la classe, aux méthodes et aux variables. La principale différence entre un mot clé statique et final est que statique Ce mot-clé est utilisé pour définir le membre de la classe pouvant être utilisé indépendamment de tout objet de cette classe. Final mot-clé est utilisé pour déclarer, une variable constante, une méthode qui ne peut pas être remplacée et une classe qui ne peut pas être héritée.

  1. Tableau de comparaison
  2. Définition
  3. Différences Clés
  4. Conclusion

Tableau de comparaison

Base de comparaisonStatiqueFinal
En vigueurLe mot clé statique est applicable aux classes, variables, méthodes et blocs statiques imbriqués.Le mot clé final est applicable à la classe, aux méthodes et aux variables.
InitialisationIl n'est pas obligatoire d'initialiser la variable statique au moment de sa déclaration.Il est obligatoire d'initialiser la variable finale au moment de sa déclaration.
ModificationLa variable statique peut être réinitialisée.La variable finale ne peut pas être réinitialisée.
Les méthodesLes méthodes statiques ne peuvent accéder qu'aux membres statiques de la classe et ne peuvent être appelées que par d'autres méthodes statiques.Les méthodes finales ne peuvent pas être héritées.
ClasseL'objet de classes statiques ne peut pas être créé et ne contient que des membres statiques.Une classe finale ne peut être héritée par aucune classe.
BlocLe bloc statique est utilisé pour initialiser les variables statiques.Le mot clé final ne prend pas en charge ce type de bloc.


Définition de statique

Statique est un mot clé, applicable aux classes, variables, méthodes et blocs. Les membres de la classe, la classe et les blocs peuvent être rendus statiques à l'aide du mot clé «static» devant le nom des membres de la classe, de la classe et des blocs, respectivement. Lorsqu'un membre de la classe est déclaré statique, il devient global pour tous les autres membres de la classe. Le membre statique de la classe n'occupe pas de mémoire par instance, c'est-à-dire que tous les objets partagent la même copie de membre statique. Le membre statique peut être utilisé indépendamment de tout objet de cette classe. Vous pouvez accéder au membre statique de la classe avant la création de son objet. Le meilleur exemple de membre statique est la méthode main (), elle est déclarée statique afin de pouvoir être invoquée avant qu'un objet n'existe. Le formulaire général pour accéder au membre statique de la classe:


class_name.static_member // accède au membre statique de la classe

En code ci-dessus nom_classe est le nom de la classe dans laquelle le membre statique est défini. Le membre statique peut être une variable statique ou une méthode statique

Variables statiques:

  • Une variable statique agit comme une variable globale pour tous les autres membres de la classe.
  • Il est possible d'accéder à une variable statique avant qu'un objet de la classe existe.
  • Une variable statique est accessible avec le nom de la classe dans laquelle elle est définie, suivie de l’opérateur point (.).

Méthodes statiques:

  • Une méthode statique ne peut appeler que d'autres méthodes statiques.
  • Une méthode statique ne peut accéder qu'aux données statiques.
  • Une méthode statique ne peut pas être appelée «ceci» ou «super» dans toutes les conditions.
  • Une méthode statique est accessible avec le nom de la classe dans laquelle elle est définie, suivie de l’opérateur point (.).

Classe statique:

  • Java a le concept de classe statique imbriquée. La classe la plus externe ne peut pas être rendue statique tandis que la classe la plus interne peut être rendue statique.
  • Une classe imbriquée statique ne peut pas accéder au membre non statique de la classe externe.
  • Il ne peut accéder qu'aux membres statiques de la classe externe.

Bloc statique:

Le bloc statique est exécuté une seule fois lorsque la classe est chargée. Utilisé pour initialiser les variables statiques de la classe.

C ++:

En C ++, nous avons le concept de variables statiques ainsi que des fonctions statiques alors que C ++ ne supporte pas les classes statiques.

C #:

C # prend en charge la classe statique, les variables statiques et la classe statique également.

Java:

Java prend en charge la classe imbriquée statique, les variables statiques et les méthodes statiques.

Définition de finale

Final est un mot clé applicable à la classe, à la variable et aux méthodes. La classe, la variable et la méthode sont déclarées finales à l'aide du mot-clé «final» précédé de leur nom. Une fois qu'une variable est déclarée comme finale; il ne peut plus être modifié dans le programme. Une variable finale doit être initialisée à la déclaration de temps. Les variables finales n'occupent pas de mémoire par instance. Tous les objets des classes partagent la même copie de la variable finale.

La méthode déclarée comme finale ne peut pas être remplacée par la sous-classe de cette classe dans laquelle la méthode final est déclarée. Lorsqu'une classe est déclarée comme finale, une autre classe ne peut pas hériter de cette classe finale. C ++, C # ne supporte pas le concept si le mot clé final. Java supporte le concept de mot-clé final et en Java; La classe, la variable et la méthode peuvent être déclarés comme final.

  1. Le mot clé static est applicable à une classe statique imbriquée, des variables, des méthodes et des blocs. D'autre part, le mot clé final est applicable aux méthodes de classe et aux variables.
  2. La variable statique peut être initialisée à tout moment alors qu'une variable finale doit être initialisée au moment de la déclaration.
  3. Une variable statique peut être réinitialisée, mais une fois la variable finale initialisée, elle ne peut jamais être réinitialisée.
  4. Une méthode statique peut accéder au membre statique de la classe et ne peut être invoquée que par d'autres méthodes statiques. D'autre part, la méthode finale ne peut jamais être héritée par aucune classe.
  5. Le bloc statique est utilisé pour initialiser les variables statiques alors que le mot-clé final ne prend en charge aucun bloc.

Conclusion:

Les mots clés static et final résolvent des objectifs différents lorsqu'ils sont appliqués à la classe, à la variable et à la méthode.