Bonjour,
On déclare une variable locale dans:
une classe , une methode ou un objet ?
Merci d'avance
Version imprimable
Bonjour,
On déclare une variable locale dans:
une classe , une methode ou un objet ?
Merci d'avance
Méthode. Les variables locales sont celles qu'on déclare dans des méthodes.
Les variables déclarées dans les classes, sont des variables membres. On peut aussi les appeler :
- s'il n'y a pas static, variable d'instance
- s'il y a static, variable de classe.
une variable locale est déclarée à l'intérieur d'un bloc d'instructions et sa portée se restreint à l'intérieur de ce dérnier .Donc elle est bien déclarée à l’intérieur d'une fonction ( method en JAVA) .
Maintenant que j'y pense, on peut aussi en déclarer dans des constructeurs et des blocs d'inititialisation.
Exemple :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 public class Machin { static { int a = 1; // variable locale System.out.println(a); } { int b = 2; // variable locale aussi System.out.println(b); } public Machin() { int c = 3; // encore une variable locale System.out.println(c); } public void truc() { int d = 4; // et dans une méthode aussi System.out.println(d); } }
Du coup la définition "une variable locale est déclarée à l'intérieur d'un bloc d'instructions et sa portée se restreint à l'intérieur de ce dernier " me parait assez juste.
On peut déclarer les variables locales dans des méthodes(ou fonctions), Exemple
dans un constructeur comme l'a dit thelvin, et dans n'importe quel bloc d'instructions (Par bloc d'instructions j'entend précisément entouré de "{" et "}"] Exemple:Code:
1
2
3
4
5
6
7 public int returnNumber(int[] tab){ int retour=-1; //création de notre variable locale retour = tab[1]; return retour; }
Dans le minuscule exemple ci haut, la variable locale coca est GLOBALE au bloc suivant, d'oùCode:
1
2
3
4
5
6
7
8
9
10
11 public void loadAll() { int coca=2;//variable locale à la fonction loadAll {//Début d'un nouveau bloc int coco=3;//variable locale à ce bloc coco+=coca; System.out.println(coco); }//fin //Démonstration: l'IDE BOUDE à ce niveau... System.out.println(coco);//il connait pas de variable coco }
est juste....Citation:
portée restreinte à l'intérieur de ce dernier(pour faire allusion au bloc d'instructions)