Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Java

Variable statique en Java :Qu'est-ce qu'un bloc statique et une méthode [Exemple]

Le statique peut être :

  1. Variables statiques
  2. Méthodes statiques
  3. Blocs de code statiques.

Examinons d'abord les variables statiques et les méthodes statiques.

Qu'est-ce qu'une variable statique en Java ?

Variable statique en Java est une variable qui appartient à la classe et initialisée une seule fois au début de l'exécution. C'est une variable qui appartient à la classe et non à l'objet (instance ). Les variables statiques ne sont initialisées qu'une seule fois, au début de l'exécution. Ces variables seront initialisées en premier, avant l'initialisation de toute variable d'instance.

Syntaxe :

<class-name>.<variable-name>

Qu'est-ce que la méthode statique en Java ?

Méthode statique en Java est une méthode qui appartient à la classe et non à l'objet. Une méthode statique ne peut accéder qu'aux données statiques. C'est une méthode qui appartient à la classe et non à l'objet (instance). Une méthode statique ne peut accéder qu'aux données statiques. Il ne peut pas accéder aux données non statiques (variables d'instance).

Syntaxe :

<class-name>.<method-name>

Remarque : La méthode main est statique, car elle doit être accessible pour qu'une application s'exécute, avant toute instanciation.


Apprenons les nuances des mots-clés statiques en faisant quelques exercices !

Exemple :Comment appeler des variables et des méthodes statiques

Étape 1) Copiez le code suivant dans un éditeur

public class Demo{
   public static void main(String args[]){
     Student s1 = new Student();
     s1.showData();
     Student s2 = new Student();
     s2.showData();
     //Student.b++;
     //s1.showData();
  }
}

class Student {
int a; //initialized to zero
static int b; //initialized to zero only when class is loaded not for each object created.

  Student(){
   //Constructor incrementing static variable b
   b++;
  }

   public void showData(){
      System.out.println("Value of a = "+a);
      System.out.println("Value of b = "+b);
   }
//public static void increment(){
//a++;
//}

}

Étape 2) Enregistrez et compilez le code. Exécutez le code en tant que démo Java .

Étape 3) Le résultat attendu est affiché ci-dessous

Le diagramme suivant montre comment les variables de référence et les objets sont créés et comment les variables statiques sont accessibles par les différentes instances.

Étape 4) Il est possible d'accéder à une variable statique depuis l'extérieur de la classe en utilisant la syntaxe ClassName.Variable_Name . Décommentez les lignes # 7 &8 . Enregistrer, compiler et exécuter. Observez la sortie.

Value of a = 0
Value of b = 1
Value of a = 0
Value of b = 2
Value of a = 0
Value of b = 3

Étape 5) Décommentez les lignes 25,26 &27 . Enregistrer, compiler et exécuter.

	 error: non-static variable a cannot be referenced from a static context a++; 

Étape 6) Erreur = ? En effet, il n'est pas possible d'accéder à la variable d'instance "a ” de la méthode de classe statique java “incrément ".

Qu'est-ce que le bloc statique en Java ?

Le bloc statique est un bloc d'instructions à l'intérieur d'une classe Java qui sera exécuté lorsqu'une classe est chargée pour la première fois dans la JVM. Un bloc statique aide à initialiser les membres de données statiques , tout comme les constructeurs aident à initialiser les membres d'instance.

class Test{
 static {
 //Code goes here
 }
}

Le programme suivant est l'exemple du bloc statique java.

Exemple :Comment accéder au bloc statique

public class Demo {
 static int a;
 static int b;
 static {
    a = 10;
    b = 20;
 }
 public static void main(String args[]) {

  System.out.println("Value of a = " + a);
  System.out.println("Value of b = " + b);

 	}
}

vous obtiendrez la sortie suivante du programme.

Value of a = 10
Value of b = 20

Java

  1. Mot-clé Java final
  2. Opérateur instanceof Java
  3. Classe statique imbriquée Java
  4. Classe anonyme Java
  5. Classe Java Singleton
  6. Réflexion Java
  7. Gestion des exceptions Java
  8. Génériques Java
  9. Classe de fichier Java