Vous êtes ici :
Accueil Cours Programmations La Programmation Orientée Objet en Java Les types de variables

La Programmation Orientée Objet en Java : Les types de variables

Une variable nous fournit un stockage nommé que nos programmes peuvent manipuler. Chaque variable en Java a un type spécifique, qui détermine la taille et la disposition de la mémoire de la variable; La gamme de valeurs qui peuvent être stockées dans cette mémoire; Et l'ensemble des opérations qui peuvent être appliquées à la variable.

Vous devez déclarer toutes les variables avant qu'elles puissent être utilisées. La forme de base d'une déclaration de variable est présentée ici:

 

Type_de_données variable [= valeur] [, variable [= valeur] ...] ;

Le type de données ici est l'un des types de données de Java et la variable est le nom de la variable. Pour déclarer plus d'une variable du type spécifié, vous pouvez utiliser une liste séparée par des virgules.

Voici des exemples valables de déclaration et d'initialisation de variables en Java:

 int a, b, c ;  // Déclare trois ints, a, b et c.
 int a = 10, b = 10;  // Exemple d'initialisation
 byte B = 22;  // initialise une variable de type byte B.
 double pi = 3.14159;  // déclare et attribue une valeur de PI.
 char a = 'a' ;  // la variable char est initialisée avec la valeur 'a'

Ce chapitre expliquera différents types de variables disponibles dans le langage Java. Il existe trois types de variables en Java:

  • Variables locales
  • Variables d'instance
  • Variables de classe / statique

Variables locales

  • Les variables locales sont déclarées dans les méthodes, les constructeurs ou les blocs.
  • Les variables locales sont créées lorsque la méthode, le constructeur ou le bloc est entré et que la variable sera détruite une fois qu'elle sort de la méthode, du constructeur ou du bloc.
  • Les modificateurs d'accès ne peuvent pas être utilisés pour les variables locales.
  • Les variables locales ne sont visibles que dans la méthode déclarée, le constructeur ou le bloc.
  • Les variables locales sont mises en œuvre au niveau de la pile en interne.
  • Il n'y a pas de valeur par défaut pour les variables locales afin que les variables locales soient déclarées et qu'une valeur initiale soit attribuée avant la première utilisation.

Exemple:

Ici, age est une variable locale. Ceci est défini dans la méthode pupAge ( ) et sa portée est limitée à cette méthode uniquement.

 public class Test{
   public void pupAge(){
      int age = 0;
      age = age + 7;
      System.out.println("Puppy age is : " + age);
   }

   public static void main(String args[]){
      Test test = new Test();
      test.pupAge();
   }
}

Cela produirait le résultat suivant:

Puppy age is: 7

Exemple:

L'exemple suivant utilise age sans l'initialiser, ce qui donnerait une erreur au moment de la compilation.

public class Test{
   public void pupAge(){
      int age;
      age = age + 7;
      System.out.println("Puppy age is : " + age);
   }

   public static void main(String args[]){
      Test test = new Test();
      test.pupAge();
   }
}

Cela produirait l'erreur suivante lors de la compilation:

Test.java:4:variable number might not have been initialized

age = age + 7;

         ^

1 error

Variables d'instance

  • Les variables d'instance sont déclarées dans une classe, mais en dehors d'une méthode, d'un constructeur ou d'un bloc.
  • Lorsqu'un espace est alloué à un objet dans le tas, un emplacement pour chaque valeur de variable d'instance est créé.
  • Les variables d'instance sont créées lorsqu'un objet est créé avec l'utilisation du mot-clé « new » et détruit lorsque l'objet est détruit.
  • Les variables d'instance contiennent des valeurs qui doivent être référencées par plus d'une méthode, un constructeur ou un bloc, ou des parties essentielles de l'état d'un objet qui doit être présent dans toute la classe.
  • Les variables d'instance peuvent être déclarées au niveau de la classe avant ou après utilisation.
  • Les modificateurs d'accès peuvent être donnés pour les variables d'instance.
  • Les variables d'instance sont visibles pour toutes les méthodes, constructeurs et blocs dans la classe. Normalement, il est recommandé de rendre ces variables privées (niveau d'accès). Cependant, la visibilité des sous-classes peut être donnée pour ces variables avec l'utilisation de modificateurs d'accès.
  • Les variables d'instance ont des valeurs par défaut. Pour les nombres, la valeur par défaut est 0, pour les Booléens, il est false et pour les références d'objets, il est null. Les valeurs peuvent être attribuées pendant la déclaration ou dans le constructeur.
  • Les variables d'instance peuvent être accessibles directement en appelant le nom de la variable dans la classe. Toutefois, dans les méthodes statiques et les classes différentes (lorsque les variables d'instance reçoivent une accessibilité) doivent être appelés à l'aide du nom entièrement qualifié. ObjectReference.VariableName.

Exemple:

import java.io.*;
public class Employee{
   //this instance variable is visible for any child class.
   public String name;

   //salary  variable is visible in Employee class only.
   private double salary;

   //The name variable is assigned in the constructor.
   public Employee (String empName){
      name = empName;
   }



   // The salary variable is assigned a value.
   public void setSalary(double empSal){
      salary = empSal;
   }



   // This method prints the employee details.
   public void printEmp(){
      System.out.println("name  : " + name );
      System.out.println("salary :" + salary);
   }

   public static void main(String args[]){
      Employee empOne = new Employee("Ransika");
      empOne.setSalary(1000);
      empOne.printEmp();
   }
}

Cela produirait le résultat suivant:

name : Ransika

salary : 1000.0

Variables de classe / statique

  • Les variables de classe également appelées variables statiques sont déclarées avec le mot-clé static dans une classe, mais en dehors d'une méthode, d'un constructeur ou d'un bloc.
  • Il n'y aurait qu'une seule copie de chaque variable de classe par classe, quel que soit le nombre d'objets créés.
  • Les variables statiques sont rarement utilisées autrement que déclarées comme constantes. Les constantes sont des variables déclarées publiques / privées, finales et statiques. Les variables constantes ne changent jamais de leur valeur initiale.
  • Les variables statiques sont stockées dans la mémoire statique. Il est rare d'utiliser des variables statiques autres que la finale déclarée et utilisées comme constantes publiques ou privées.
  • Les variables statiques sont créées lorsque le programme démarre et détruit lorsque le programme s'arrête.
  • La visibilité est similaire aux variables d'instance. Cependant, la plupart des variables statiques sont déclarées publiques puisqu'elles doivent être disponibles pour les utilisateurs de la classe.
  • Les valeurs par défaut sont les mêmes que les variables d'instance. Pour les nombres, la valeur par défaut est 0; Pour les booléens, c'est false; Et pour les références d'objets, il est null. Les valeurs peuvent être attribuées pendant la déclaration ou dans le constructeur. Des valeurs supplémentaires peuvent être assignées dans des blocs d'initialisation statique spéciaux.
  • On peut accéder aux variables statiques en appelant avec le nom de la classe. ClassName.VariableName.
  • Lors de la déclaration des variables de classe comme public static final, les noms de variables (constantes) sont en majuscules. Si les variables statiques ne sont pas publiques et définitives, la syntaxe de dénomination est identique aux variables d'instance et locales.

Exemple:

import java.io.*;

public class Employee{
   //salary  variable is a private static variable
   private static double salary;

   //DEPARTMENT is a constant
   public static final String DEPARTMENT = "Development ";

   public static void main(String args[]){
      salary = 1000;
      System.out.println(DEPARTMENT+"average salary:"+salary);
   }
}

Cela produirait le résultat suivant:

Development average salary:1000

Remarque: Si les variables sont accessibles à partir d'une classe externe, la constante devrait être consultée en tant que Employee.DEPARTMENT




Vous êtes ici :
Accueil Cours Programmations La Programmation Orientée Objet en Java Les types de variables