Quand utiliser :
Lorsqu'une méthode ou une variable doit être initialisée et chargée, ou est fréquemment appelée, static
peut être ajoutée. Les méthodes modifiées avec static peuvent être appelées directement en utilisant le nom de la classe. Sinon, un objet doit être instancié avant l'appel.
Inconvénients :
Le chargement initial prend plus de mémoire, il n'est donc pas recommandé d'ajouter ce mot-clé pour les méthodes qui ne sont pas souvent utilisées.
Si vous devez initialiser vos variables statiques par calcul, vous pouvez déclarer un bloc statique, et le bloc statique ne sera exécuté qu'une seule fois lorsque la classe sera chargée.
Tutoriels vidéo recommandés sur Java : Tutoriels en ligne Java
L'exemple suivant montre une classe avec une méthode statique, des variables statiques et un bloc d'initialisation statique.
Exemple de code :
// Demonstrate static variables,methods,and blocks. class UseStatic { static int a = 3; static int b; static void meth(int x) { System.out.println("x = " + x); System.out.println("a = " + a); System.out.println("b = " + b); } static { System.out.println("Static block initialized."); b = a * 4; } public static void main(String args[]) { meth(42); } }
Une fois la classe UseStatic chargée, toutes les instructions statiques sont exécutées.
Tout d'abord, la variable d'attribut de classe commence à être assignée, a est défini sur 3, b est initialisé à 0 par défaut, puis le bloc statique est exécuté et exécuté (impression d'un message), et enfin, b est initialisé à un*4 ou 12. Ensuite, main() est appelé, main() appelle meth(), en passant la valeur 42 à x, et les trois instructions println() font référence à deux variables statiques a et b et à la variable locale x.
Remarque : Il est illégal de référencer des variables d'instance dans une méthode statique.
Résultats d'exécution :
Static block initialized. x = 42 a = 3 b = 12
Articles et didacticiels connexes recommandés : Introduction à la programmation Java
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!