Portée des variables / méthodes en Java | Expliqué

Portée des variables / méthodes en Java | Expliqué
Dans le monde de la programmation, le terme portée se réfère à la zone d'un programme dans lequel certaines données sont accessibles. Dans les langages de programmation, les variables et les méthodes devraient avoir un nom auto-explicite et il doit également être unique, mais en même temps, vous devez maintenir un nom unique, auto-explicatif et concis qui peut être un peu difficile Si le programme est très long.

Par conséquent, les langages de programmation offrent le concept de portée qui dit que toutes les variables / méthodes n'existent pas partout dans le programme, mais ces variables et méthodes ne seront pas accessibles dans le domaine où elles sont créées.

Cet article présente une compréhension profonde des concepts suivants:

  • Portée de la variable en java
  • Portée au niveau de la classe en Java
  • Portée au niveau de la méthode en Java
  • Portée au niveau des blocs en java

Alors, commençons!

Portée de la variable en java

Il détermine si la variable sera accessible dans l'ensemble du programme, dans une méthode, ou qu'elle est également accessible dans les autres classes. Ainsi, en termes simples, la portée des variables détermine que les variables ne sont accessibles que dans la zone où elles sont créées.

Exemple

L'extrait ci-dessous fournira une meilleure compréhension de la portée variable

classe publique méthodeScope
public static void main (String [] args)
// La variable "Nom" ne peut pas être utilisé ici
String name = "John";
// ci-après "nom" peut être utilisé n'importe où dans la méthode
Système.dehors.println (nom);

Voyons un exemple pour tester ce qui sera la sortie, si nous essayons d'accéder à une variable avant sa déclaration:

Le extrait ci-dessus authentifie que la variable avant sa déclaration ne peut pas être accessible.

Portée au niveau de la classe en Java

Les variables déclarées à l'intérieur d'une classe sont accessibles par toutes les fonctions de cette classe en fonction de son modificateur d'accès / spécificateur I.e. public, privé, etc. Dans certains cas (je.e. Dans les modificateurs d'accès public et en utilisant des objets de cette classe spécifique), nous pouvons également accéder et appeler les variables et les méthodes en dehors de la classe.

Exemple

Pour la compréhension profonde des concepts, considérez l'extrait de code ci-dessous:

Package Javascope;
classe CLASEXample1
String public var1;
INT privé var2;
public void function1 (String var1, int var2)
// var1, var2 est accessible ici
Système.dehors.println ("function1");

fonction void privée2 (int var3)
// var1, var2 est accessible ici
Système.dehors.println ("function2");


classe publique Mainclass
public static void main (String [] args)
CLASEXample1 obj = new CLASEXample1 ();
// Les variables publiques sont accessibles dans cette classe
// Les méthodes / fonctions publiques peuvent être appelées à partir d'ici
function1 ("Scope", 5);
Nom de la chaîne = Obj.var1;
// Les variables privées sont accessibles dans cette classe
int id = obj.var2; // lance une erreur, je ne peux pas accéder aux variables privées d'une autre classe ici
// Les méthodes / fonctions privées ne peuvent pas être appelées à partir d'ici
obj.function2 (4);

L'extrait de code complet ressemblera à ceci:

À partir de l'extrait ci-dessus, nous avons vu que les variables et les méthodes publiques sont accessibles et appelées dans d'autres classes également en utilisant l'objet de la classe. Cependant, nous ne pouvons pas accéder aux variables privées d'une classe à une autre classe même à l'aide d'un objet de classe.

Portée au niveau de la méthode en Java

La déclaration variable / créée dans la méthode sera accessible n'importe où dans cette méthode après sa déclaration, cependant, il ne serait pas accessible avant sa déclaration. De plus, l'accès à la variable d'une méthode dans l'autre méthode n'est pas possible et si nous parlons spécifiquement des méthodes, nous pouvons également appeler une méthode dans d'autres méthodes.

L'extrait ci-dessous fournira une meilleure compréhension de la portée de la méthode en Java:

Exemple

Prenons la capture d'écran ci-dessous pour une compréhension profonde de la portée au niveau de la méthode:

À partir de l'extrait ci-dessus, il est clair que nous ne pouvons pas accéder à la variable d'une méthode dans d'autres méthodes Cependant, nous pouvons appeler une méthode à partir d'autres méthodes.

Portée au niveau des blocs en java

Tout ce qui vient dans le accolades est appelé la portée du bloc et les variables créées dans le bloc de code seront accessibles par le code qui se trouve entre les accolades bouclées. Les variables déclarées dans la portée du bloc ne seraient pas accessibles en dehors de la portée du bloc.

Exemple

Dans cet exemple, nous créons deux variables ayant la portée au niveau de la méthode et leur initialisons certaines valeurs:

public static void main (String [] args)
String name = "John";

int id = 0;
pour (int i = 0; i <= 5; i++)
id ++;
if (id == 4)
Système.dehors.println ("id:" + id);
Système.dehors.println ("name:" + name);




Nous utilisons la boucle FOR qui itérera cinq fois et imprime le nom Quand «id = 4». Le SI-SIPPET fournira une compréhension complète de la portée et affiche également la sortie:

L'extrait vérifie qu'il accède avec succès aux deux variables I.e. Nom, ID.

Les variables créées au niveau du bloc ne seraient pas accessibles avant le début ou après la fin de la portée au niveau du bloc, comme indiqué dans la capture d'écran en dessous:

L'extrait ci-dessus vérifie qu'une erreur se produit lorsque nous essayons d'accéder à la variable du niveau du bloc à l'extérieur de la portée du bloc.

Conclusion

Une variable déclarée dans la portée de la méthode sera accessible uniquement à l'intérieur de la méthode et une variable déclarée dans la portée du bloc sera accessible dans la portée du bloc. Nous ne pouvons pas accéder à une variable avant sa déclaration et accéder aux variables en dehors de la portée entraînera une erreur. Cet article présente un guide complet pour la portée des variables et des méthodes en Java.