Java >> Tutoriel Java >  >> Tag >> class

Mot clé statique en Java | Méthode, variable, bloc, classe imbriquée avec exemples

Qu'est-ce qu'un mot clé statique en Java ?

Un mot-clé Static est utilisé en Java pour la gestion de la mémoire de l'application. Vous pouvez appliquer des mots-clés statiques dans des variables, des méthodes, des blocs et des classes imbriquées. Statique signifie que vous n'avez pas besoin de créer une instance de la classe pour utiliser les méthodes ou les variables associées à la classe.

Ainsi, le mot-clé statique peut être en Java :-

  • Variable (également appelée variable de classe)
  • Méthode (également appelée méthode de classe)
  • Bloquer
  • Classe imbriquée

Nous en examinerons un sur la façon d'utiliser des mots-clés statiques avec tout cela.

Pour créer un membre statique en Java, faites précéder sa déclaration du mot-clé static . Un membre statique peut accéder sans créer d'objet de classe.

Exemple de variable statique Java | Champ

Une déclaration de variables statiques est très simple en java. Utilisez "mot-clé statique" avant le nom de la variable. Une variable statique ne crée qu'une seule copie et est partagée entre tous les objets au niveau de la classe. Peu importe combien de fois la classe est initialisée. Une seule copie de l'élément statique champ lui appartenant

Par exemple, l'entreprise compte de nombreux employés, donc dans une donnée, tous les employés ont le même nom d'entreprise.

  • La variable statique n'obtient de la mémoire qu'une seule fois dans la portée de la classe au moment du chargement de la classe.
  • static les membres appartiennent à la classe au lieu d'une instance spécifique. Il est donc accessible directement en utilisant le nom de la classe sans aucune référence d'objet.

Cela signifie que une seule instance d'un static le champ existe même si vous créez un million d'instances de la classe ou si vous n'en créez aucune. Il sera partagé par toutes les instances. (Source – https://stackoverflow.com/)

Exemple de variable statique complète

Dans l'exemple, le nom de la société sera un membre de données statique. Il n'obtiendra donc la mémoire qu'une seule fois.

Diagramme :-

Code :-

class Employee {
    int id;//instance variable
    String name;
    static String company = "ISG";//static variable

    //constructor
    Employee(int i, String n) {
        id = i;
        name = n;
    }

    //method to display the values
    void display() {
        System.out.println(id + " " + name + " " + company);
    }
}

//Test class to show the values of objects
public class Example {
    public static void main(String args[]) {

        Employee e1 = new Employee(111, "John");
        Employee e2 = new Employee(222, "Kemi");

        e1.display();
        e2.display();
    }
}  

Sortie :

111 Jean ISG
222 Kemi ISG

Q :Quels sont les avantages des variables statiques ?

Répondre  :Le programme sera plus mémoire efficace .

Q :Qu'est-ce qu'un problème sans variable statique en Java.

Supposons qu'il y ait une entreprise "ISG", où 1000 employés travaillent. Ainsi, tous les membres de données d'instance utiliseront de la mémoire chaque fois que l'objet est créé.

class Employee{  
     int id;  
     String name;  
     String company="ISG";  
}  

Si vous l'avez remarqué, l'identifiant et le nom sont uniques pour chaque employé, mais la société sera la même. Création d'"entreprise" Le membre de données statique n'obtiendra la mémoire qu'une seule fois. Parce que c'est maintenant un membre de données d'instance.

static String company="ISG";

Exemple de méthode statique Java

Déclarer une méthode avec un mot-clé statique appelé "Méthode statique " en java. Quelques facteurs importants :-

  • Une méthode statique appartient à la classe plutôt qu'à l'objet d'une classe.
  • Il peut être invoqué sans créer d'instance de classe.
  • Accéder aux membres de données statiques et en modifier la valeur peut être fait par la méthode statique.

Les méthodes statiques ont plusieurs restrictions :-

  • Les méthodes statiques n'appellent que les autres méthodes statiques.
  • Les membres de données statiques ne peuvent accéder qu'à l'aide de méthodes statiques. Et la méthode statique ne peut pas avoir de membre de données non statique.
  • Il ne peut en aucun cas faire référence à ceci ou à super.

Q :Pourquoi la méthode principale Java est-elle statique ?

Réponse : Les méthodes statiques ne nécessitaient pas d'instance de classe pour l'appeler. Ainsi, la méthode non statique peut appeler direct. Si la méthode principale n'est pas statique, la JVM doit d'abord créer un objet, puis appeler une méthode main(), ce qui nécessitera une allocation de mémoire supplémentaire.

Exemple complet de méthode statique

Avez-vous remarqué que les méthodes principales de Java sont également statiques.

L'exemple "AddNumber" est une méthode statique avec l'addition de retour de nombres. À la méthode principale appelant une méthode AddNumebr avec paramètre.

public class Example {
    static int AddNumber(int a, int b) {
        return a + b;
    }

    public static void main(String args[]) {
        int result = AddNumber(5, 10);
        System.out.println(result);
    }
}  

Sortie :15

Exemple de bloc statique Java

Un bloc d'initialisation statique Java est défini uniquement avec des mots statiques utilisés avec des accolades ouvrantes et fermantes.

Pourquoi le bloc statique est-il utilisé :-

  • Pour initialiser les membres de données statiques.
  • Exécuté avant la méthode principale Java au moment du chargement de la classe.

Voir l'exemple de code de bloc statique Java ci-dessous :-

Il ressemble à un constructeur par défaut sans nom de classe. Mais ce n'est pas le cas.

public class Example {
    static {
        System.out.println("Hello static block");
    }

    public static void main(String args[]) {
        System.out.println("Main Method");
    }
}  

Sortie :

Bonjour bloc statique
Méthode principale

Q :Le programme Java (code) peut-il s'exécuter sans la méthode main() ?

Répondre :C'était possible sur une version antérieure de Java JDK 1.6. Depuis JDK 1.7, mais pas il n'est pas possible d'exécuter une classe java (programme) sans méthode main.

Essayons sans la méthode principale :-

public class Example {
    static {
        System.out.println("Hello static block");
    }

}  

Sortie :

Erreur :Méthode principale introuvable dans la classe Exemple, veuillez définir la méthode principale comme suit :
public static void main(String[] args)
ou une classe d'application JavaFX doit étendre javafx.application.Application

Classe statique Java | Classe imbriquée

La seule classe imbriquée peut être statique, la déclaration d'une classe de niveau supérieur avec un modificateur statique en Java n'est pas possible. Quelle classe imbriquée déclarée avec le mot-clé static est appelée une classe imbriquée statique.

Voyons un exemple de code simple sur la façon de créer une classe imbriquée.

public class Example {
    // Top level class
    
    static class Test{
        // nested class
    }
}  

N'hésitez pas à commenter si vous avez des doutes et des suggestions sur ce tutoriel.

Remarque : Cet exemple (Project) est développé dans IntelliJ IDEA 2018.2.6 (Community Edition)
JRE :11.0.1
JVM :VM serveur OpenJDK 64 bits par JetBrains s.r.o
mac OS 10.14.1
Java version 11
Tout Java statique exemples de mots clés sont en Java 11, il peut donc changer selon Java 9 ou 10 ou les versions mises à niveau.


Balise Java