Différence entre final et statique

En mathématiques et en sciences, la constante est un terme qui désigne une certaine valeur telle que «π» qui est un nom pratique pour le nombre 3,14159. Java a son genre de constantes. Ce sont des variables qui sous (a) n'appartiennent à aucun objet et sous (b) ne changent pas de valeur une fois qu'elles sont définies. Le mot statique dans la déclaration de variable montre que la variable n'appartient à aucun objet. Il existe un mot-clé similaire qui dit que la valeur de la variable ne sera définie qu'une seule fois et ne changera pas. C'est le mot-clé final. Ce mot clé n'est pas limité aux variables statiques, mais peut être utilisé avec des variables d'instance, des variables locales et même avec des variables qui sont des méthodes de paramètres. En déclarant la variable comme finale, vous montrez à tout le monde que la variable au cours de l'existence aura la même valeur. Plus important encore, le compilateur détectera chaque tentative de changer la valeur d'une variable ainsi déclarée et la signalera comme une erreur. En ce qui concerne la terminologie Java, la variable qui est déclarée comme statique et finale est appelée une constante.



Qu'est-ce que la finale?

Le modificateur final peut être utilisé à plusieurs endroits dans le langage de programmation Java. Ici, nous allons couvrir son utilisation la plus courante. Le modificateur final peut être appliqué à la déclaration d'une variable locale, d'un argument de fonction et de variables membres non statiques ou statiques. Dans ce contexte, le modificateur de variable se convertit en une constante. Le traducteur de la langue de traduction vérifiera si du code tente de modifier la valeur, et ces tentatives seront signalées comme une erreur. Voici un exemple.



valeur int finale = 17;



Les variables membres statiques avec ce modificateur sont utilisées comme constantes globales; par exemple, dans la variable java.lang.Math PI, il est indiqué exactement

IP double final statique public = 3,14159265358979323846;

Nous pouvons appliquer le modificateur final à la déclaration de fonction. La fonction marquée du final ne peut plus être annulée - c'est sa mise en œuvre finale. Les méthodes abstraites ne peuvent pas être déclarées finales - le fait qu'elles soient abstraites signifie qu'elles manquent de mise en œuvre; ce ne peut certainement pas être leur état ultime. Voici un exemple.



public final int senseLife () {

retour 42;

}



Nous pouvons appliquer le modificateur final à la déclaration de classe. La classe qui est marquée avec le final ne peut plus hériter - c'est sa mise en œuvre finale. Il est clair que la classe abstraite ne peut pas être définitive en même temps. Voici un exemple

public final class Closed {

// ...

}

L'un des exemples de classe finie est la classe java.lang.String - elle est finie donc personne ne peut en hériter et ainsi accéder à ses variables membres.

Qu'est-ce que la statique?

Les variables statiques n'appartiennent pas à une instance particulière de classe. Les variables statiques appartiennent à la classe elle-même et en mémoire il n'y a qu'un seul emplacement, quel que soit le nombre de copies de cette classe créées en mémoire. Les variables non statiques appartiennent à des spécimens de classe - chaque instance de la classe a sa propre copie de ces variables. Les variables statiques appartiennent à la classe - la classe en mémoire conserve les valeurs de ces variables; tous les exemples de classes voient donc le même contenu afin que nous puissions considérer que les variables statiques sont partagées entre toutes les tailles de classe. En mettant à jour la variable value, la nouvelle valeur sera automatiquement visible par toutes les instances de cette classe. Le filtre statique peut être appliqué à tout élément légalement déclaré dans une classe. Dans le cas des variables d'appartenance, la conséquence est que ces variables membres ne seront stockées en mémoire qu'à un seul endroit. Que se passe-t-il s'il s'agit d'une méthode? En déclarant la méthode statique, le message est le même: la méthode pertinente n'appartient pas aux classes de classes mais à la classe elle-même. Par conséquent, les méthodes statiques ne recevront pas de référence cachée à l'objet sur lequel elles sont appelées lors de l'appel; dans les méthodes de référence statiques, cela n'est pas disponible. En effet, appeler des méthodes statiques à travers l'objet est tout aussi déroutant que d'accéder aux variables membres statiques en se référant à cette référence: dans les deux cas, il est préférable d'écrire simplement le nom de la classe, le point et le nom de la méthode appelante.

Différence entre final et statique

  1. Variable

Static représente une variable commune à tous les objets qui instancient une classe donnée tandis que final définit la constante.

  1. Méthode

Static est une méthode qui est la même pour chaque classe d'objet donnée - est également appelée membre de classe, par ex. telle est la méthode principale. La méthode finale ne peut pas être traitée dans la classe héritée.

  1. Classe

Le final ne peut pas être développé, c'est-à-dire n'autorise pas les sous-classes. La statique ne s'applique pas à la classe.

  1. Valeur

Pour faire simple, final indique que la valeur ne peut pas être modifiée (remplacement). La valeur statique est définie sur sa valeur par défaut, mais peut être réinitialisée.

Finale vs statique: tableau de comparaison

Résumé de la version finale et statique

  • La statique de travail clé fournit un accès même en l'absence d'objet (instance). Les classes proéminentes sont déclarées par le mot clé statique. Si vous ne voulez pas que la valeur de certaines modifications plus tard dans le programme disparaisse, ou si vous voulez que le compilateur vérifie et interdise, vous pouvez changer cette promesse en finale. Il existe un bloc statique pour l'initialisation. Le bloc statique pour l'initialisation est déclaré comme la clé statique devant les crochets. Ce type de bloc est effectué une fois, lors de la lecture des classes, et il initialise généralement les membres statiques de la classe.

Articles Populaires

Différence entre les arguments déductifs et inductifs

Arguments déductifs vs inductifs Les arguments déductifs et inductifs sont deux types d'arguments liés à la pensée logique et analytique. Déductif

Différence entre le mouton et l'agneau

Le mouton et l'agneau Le mouton et l'agneau sont tous deux des moutons mais présentent des différences significatives. C'est principalement en fonction de l'âge que le mouton et l'agneau diffèrent. L'agneau est un

Jesse L. Brown: le premier aviateur noir de la marine américaine

Fils d'un métayer, Jesse Leroy Brown, né au Mississippi, ferait tout ce qu'il fallait pour devenir pilote et briser la barrière des couleurs de la marine.

Différence entre les slogans et les slogans

Titres vs slogans Lors de la promotion de produits, les entreprises doivent prendre l'initiative de délivrer un message de marque puissant, compact et cohérent aux consommateurs.

Fléau de la Gallowglass

Pendant près de quatre siècles, ces fils de clans écossais et de pillards nordiques ont dominé les rangs mercenaires de l'Irlande féodale. Comté de Meath, Irlande, 1423

Différence entre AJAX et DHTML

Les technologies de navigation ont connu une croissance énorme depuis le tout début, des simples pages statiques HTML à la version complète.