Dans les classes Java, nous voyons souvent le mot-clé static, souvent appelé static. Le modificateur statique peut être utilisé pour modifier les données membres et les membres de méthode, mais il ne peut pas modifier les classes (fait référence ici aux classes externes) et les constructeurs. Par exemple :
package com.csst.vo; public class User { private String name; private static int count; public String getName() { return name; } public void setName(String name) { this.name = name; } public static int getCount() { return count; } public static void main(String[] args){ User user1=new User(); User user2=new User(); user1.setName("Rose"); user2.setName("Kate"); user1.count=10; user2.count=20; System.out.println("user1.name:"+user1.getName()+" user2.name:"+user2.getName()); System.out.println("user1.count:"+User.getCount()+"user2.count:"+user2.count); } }
Le résultat de l'exécution du programme est :
user1.name:Rose user2.name:Kate user1.count:20 user2.count:20
Nous pouvons constater que les attributs de nom de user1 et user2 sont différents, qui sont spécifiés en appelant respectivement setName pour l'objet, bien que user1 et user2 spécifient des attributs de comptage différents. respectivement, mais la valeur finale du nombre de sorties est de 20. La raison en est que le nombre est modifié par static, mais le nom n'est pas modifié par le nombre.
Les membres de données ou les membres de méthode modifiés par le modificateur static sont appelés membres statiques, ou membres de classe. Ceux qui ne sont pas modifiés par static sont appelés membres d'instance. Les membres statiques ne sont initialisés qu'une seule fois et sont partagés par tous les objets, donc count produira deux 20. Les membres de l'instance ne sont initialisés que lorsque l'objet est initialisé. Chaque fois que l'objet est créé, il sera initialisé une fois. name a été initialisé deux fois lors de la création de user1 et user2, le résultat final est donc Rose et Kate.
De plus, les membres statiques, parce qu'ils sont partagés par les classes, peuvent être appelés non seulement par des objets, mais aussi par des noms de classe. Dans la méthode statique, les membres non statiques ne peuvent pas être utilisés directement. S'ils sont utilisés, l'objet doit être initialisé et appelé. S'il existe le code suivant dans User.java dans l'exemple ci-dessus, une erreur de compilation se produira.
public static void test(){ setName("test"); }
peut être modifié comme suit :
public static void test(){ User user=new User(); user.setName("test"); }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!