Maison> Java> javaDidacticiel> le corps du texte

Quelle est la fonction du modificateur statique en langage Java ?

王林
Libérer: 2023-04-18 14:38:20
avant
1408 Les gens l'ont consulté

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); } }
Copier après la connexion

Le résultat de l'exécution du programme est :

user1.name:Rose user2.name:Kate user1.count:20 user2.count:20
Copier après la connexion

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"); }
Copier après la connexion

peut être modifié comme suit :

public static void test(){ User user=new User(); user.setName("test"); }
Copier après la connexion

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!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!