Classification des variables dans les variables locales Java, les variables d'instance, les variables statiques

1. Classification des variables en Java

    Les variables en Java peuvent être divisées en variables locales et en variables membres selon différentes positions de déclaration . Si une variable membre est modifiée avec le mot-clé static, elle est également appelée variable membre statique , et s'il n'y a pas de modification statique, elle est également appelée une variable membre d'instance . Ce qui suit décrit les connexions et les différences entre les trois.

public class Variable {
    
    
    //静态成员变量(静态变量)
    static int x=10;
    //实例成员变量(成员变量)
    int y=20;

    public static void main(String[] args) {
    
    
        //局部变量
        int num=30;
    }
}

2. La différence entre les variables locales, les variables membres et les variables statiques

variable Déclarer l'emplacement Emplacement mémoire Cycle de la vie initialisation
Variable locale Dans la méthode ou sur la déclaration de méthode (paramètres) Empiler Créé lors de l'appel de la méthode, disparaît lorsque la méthode disparaît L'initialisation doit être attribuée
Variable d'instance Méthode extérieure en classe tas Créé au fur et à mesure que les objets sont créés, disparaissent lorsque les objets disparaissent A une valeur d'initialisation par défaut
Variable statique Méthode extérieure en classe Zone statique Charger lorsque la classe est chargée, et disparaître lorsque la classe disparaît A l'initialisation par défaut

Quand utiliser des variables statiques?

Lorsqu'une certaine "valeur d'attribut" de tous les objets d'une classe ne change pas avec le changement de l'objet, afin d'économiser la mémoire du tas, nous pouvons définir l'attribut comme un attribut de niveau classe, c'est-à-dire le déclarer comme statique variable, et passer aux données "Famille entière", ces variables sont accessibles directement en utilisant "nom de classe" sans créer d'objets.

Variables de membre Différence de surface scènes à utiliser Méthode d'appel Emplacement mémoire
Variable d'instance Aucune modification statique Pour chaque objet de la classe estAttributs uniques Ne peut être appelé que par le nom de l'objet Zone de tas
Variable statique Modifié par statique Pour chaque objet de la classeAttributs cohérents Vous pouvez utiliser le nom de la classe pour appeler, vous pouvez également utiliser le nom de l'objet à appeler (non recommandé) Zone statique

Par exemple:

public class ManTest {
    
    
    public static void main(String[] args) {
    
    
        Man man=new Man("小明");
        //实例变量使用对象名调用
        System.out.println("名字"+man.name);
        //静态变量可使用类名调用(推荐)
        System.out.println("性别"+Man.sex);
        //静态变量也可以通过对象名调用(不推荐)
        System.out.println("性别"+man.sex);
    }
}
class Man{
    
    
    //实例变量
    String name;
    //静态变量
    static char sex='男';
    Man(){
    
    }
    Man(String name) {
    
    
        this.name = name;
    }
}

Quelques notes

  1. Le principe de proximité
      lorsque les membres des mêmes variables locales et noms de variables, utilisent dans la méthode, en utilisant le principe de proximité.
  2. Portée
      Les noms de variables d'un même domaine ne peuvent pas avoir le même nom. Différents noms de variables de domaine peuvent être identiques. Java suit le principe de proximité et accédera automatiquement aux données les plus proches.
    En ce qui concerne la plage de variables valide, rappelons-nous une phrase: vous ne la reconnaîtrez pas après les accolades .

Je suppose que tu aimes

Origine blog.csdn.net/m0_46988935/article/details/109995487
conseillé
Classement