[JavaSE] membres statiques et blocs de code

En Java , les membres modifiés par static sont appelés membres statiques ou membres de classe, qui n'appartiennent pas à une paire spécifique de
L'image est partagée par tous les objets .

variable de membre de modificateur statique

Variables de membre modifiées statiques , appelées variables de membre statiques
[Caractéristiques des variables membres statiques]
1. Il n'appartient pas à un objet spécifique, c'est un attribut d'une classe, partagé par tous les objets et non stocké dans l'espace d'un objet
2. Il est accessible soit via l'objet, soit via le nom de la classe, mais il est généralement recommandé d'utiliser le nom de la classe pour y accéder.
3. JDK7 et versions antérieures, HotSpot (machine virtuelle Java ) est stocké dans la zone de méthode, JDK8 et versions ultérieures, les variables de classe sont stockées dans le tas Java
4. Les variables de classe sont stockées dans la zone de méthode
5. Le cycle de vie est créé au chargement de la classe et détruit au déchargement de la classe
définir une classe d'élèves
class Student{
    public String name;
    public String sex;
    public static String classes;
}
public class classDemo {
    public static void main(String[] args) {
        Student.classes="104Java班";
        Student student1=new Student();
        student1.name="zhangsan";
        Student student2=new Student();
        student2.name="lisi";
        Student student3=new Student();
        student3.name="wangwu";
    }
}

Les trois objets étudiants ci-dessus, bien que leurs noms soient différents, les variables membres statiques indiquent qu'ils appartiennent à la même classe

N'appartient pas à un seul objet, les variables membres statiques ne sont pas stockées dans un objet spécifique.

méthode de membre modifié statique

Une méthode membre modifiée par static est appelée une méthode membre statique, qui est une méthode d'une classe, non spécifique à un objet . Les membres statiques sont généralement accessibles via des méthodes statiques.
public class Student{ 
private static String classRoom = "Bit306"; 
public static String getClassRoom(){ 
return classRoom; 
}
 }

public class TestStudent {
public static void main(String[] args) {
 System.out.println(Student.classRoom); 
}
[ Caractéristiques de la méthode statique ]
1. Il n'appartient pas à un objet spécifique, c'est une méthode de classe
2. Elle peut être appelée via l'objet, ou via le nom de la classe La méthode statique nom (...) méthode , cette dernière est plus recommandée
3. Les méthodes statiques n'ont pas caché ce paramètre de référence, donc aucune variable membre non statique n'est accessible dans les méthodes statiques
4. Aucune méthode non statique ne peut être appelée dans des méthodes statiques, car les méthodes non statiques ont ce paramètre et cette référence ne peut pas être transmise lors de l'appel dans des méthodes statiques.

initialisation de la variable membre statique

Remarque : Les variables de membre statiques ne sont généralement pas initialisées dans le constructeur et les propriétés d'instance liées à l'objet sont initialisées dans le constructeur.
1. Initialisation sur place
chaîne statique privée classRoom = "Bit306"  ;
2. Initialisation du bloc de code statique

bloc de code

Un morceau de code défini avec {} est appelé un bloc de code . Selon la position et les mots clés définis par le bloc de code, il peut être divisé en quatre types :
Bloc de code normal : bloc de code défini dans une méthode .
Bloc de code construit : un bloc de code ( sans modificateurs ) défini dans une classe . Aussi appelé : bloc de code d'instance . Les blocs constructeurs sont généralement utilisés pour initialiser les variables membres d'instance .
Les blocs d'instance sont exécutés de préférence aux constructeurs car après compilation, le compilateur copie le code dans les blocs d'instance avant la première instruction de chaque constructeur. Les blocs de code d'instance ne sont exécutés que lorsque l'objet est créé.
Bloc de code statique : un bloc de code défini à l' aide de statique est appelé un bloc de code statique. Généralement utilisé pour initialiser les variables membres statiques
1. Peu importe le nombre d'objets générés dans un bloc de code statique, il ne sera exécuté qu'une seule fois
2. Les variables de membre statiques sont des propriétés de la classe, elles sont donc ouvertes et initialisées lorsque la JVM charge la classe
3. Si une classe contient plusieurs blocs de code statiques, lors de la compilation du code, le compilateur les fusionnera dans l'ordre défini, et les mettra finalement dans la méthode <> générée, qui est appelée lorsque la classe est chargée, et n'appelle qu'une seule fois .
Bloc de code synchronisé

Je suppose que tu aimes

Origine blog.csdn.net/m0_64332179/article/details/124227492
conseillé
Classement