Il y a ce passage à la page P86 de "Java Programming Thoughts" :
"Une méthode statique est une méthode sans cela. Les méthodes non statiques ne peuvent pas être appelées à l'intérieur d'une méthode statique, mais l'inverse est possible .Et il peut être utilisé dans C'est en fait l'objectif principal des méthodes statiques sans créer d'objets. Ceci est juste une explication. Les particularités de la méthode statique peuvent être vues, mais la fonction de base du mot-clé static peut être vue. En bref, la description en une phrase est :
Il est pratique d'appeler (méthode/variable) sans créer d'objet ).
Évidemment, les méthodes ou variables modifiées par le mot-clé static n'ont pas besoin de s'appuyer sur des objets pour y accéder. Tant que la classe est chargée, elle est accessible via le nom de la classe.static peut être utilisé pour modifier les méthodes membres de classe et les variables membres de classe. De plus, des blocs de code statiques peuvent être écrits pour optimiser les performances du programme.
méthode statique
la méthode statique est généralement appelée méthode statique puisque les méthodes statiques sont accessibles sans s'appuyer sur aucun objet, pour les méthodes statiques, il existe. non, car il n'est attaché à aucun objet. Puisqu'il n'y a pas d'objet, il n'y a pas de ceci. Et en raison de cette fonctionnalité, les variables membres non statiques et les méthodes membres non statiques de la classe ne sont pas accessibles dans les méthodes statiques, car les méthodes/variables membres non statiques doivent s'appuyer sur des objets spécifiques avant de pouvoir être appelées.Mais il convient de noter que bien que les méthodes membres non statiques et les variables membres non statiques ne soient pas accessibles dans les méthodes statiques, les méthodes/variables membres statiques sont accessibles dans les méthodes membres non statiques.
Un exemple simple :
Dans le code ci-dessus, puisque la méthode print2 existe indépendamment de l'objet, vous pouvez Appeler directement en utilisant le nom de la classe. Si les méthodes/variables non statiques sont accessibles dans les méthodes statiques, alors s'il y a l'instruction suivante dans la méthode principale :
MyObject.print2();
Il n'y a aucun objet à ce niveau temps, str2 n’existe pas du tout, donc il y aura une contradiction. Il en va de même pour les méthodes. Puisque vous ne pouvez pas prédire si les variables membres non statiques sont accédées dans la méthode print1, l'accès aux méthodes membres non statiques dans les méthodes membres statiques est également interdit. Pour les méthodes membres non statiques, il n'y a évidemment aucune restriction sur l'accès aux méthodes/variables membres statiques. Par conséquent, si vous souhaitez appeler une méthode sans créer d'objet, vous pouvez définir cette méthode sur statique. Notre méthode statique la plus courante est la méthode main. Quant à savoir pourquoi la méthode main doit être statique, c'est maintenant clair. Étant donné que le programme ne crée aucun objet lors de l'exécution de la méthode principale, il n'est accessible que via le nom de la classe.variable statique
la variable statique est également appelée variable statique. La différence entre les variables statiques et les variables non statiques est que les variables statiques sont partagées par tous les objets et sont. stocké en mémoire. Il n’y a qu’une seule copie, qui est initialisée si et seulement si la classe est chargée pour la première fois. Les variables non statiques appartiennent aux objets et sont initialisées lors de la création de l'objet. Il existe plusieurs copies et les copies appartenant à chaque objet ne s'affectent pas les unes les autres.L'ordre d'initialisation des variables membres statiques est initialisé dans l'ordre défini.
private static int i=0;
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!