2 réponses
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
2 janv. 2015 à 23:32
2 janv. 2015 à 23:32
Bonjour,
Dans le cas "normal" l'attribut ou la méthode s'applique à un objet, il faut donc faire appel à un constructeur et l'état des variables est différent entre chaque objet de la classe.
Avec le mot clé static, cela ne porte plus sur un objet mais sur la classe, donc tous les objets y ont un accès partagé, et on peut l'utiliser sans objet.
Par exemple, dans "System.out", "System" est une classe, et "out" est un attribut static de cette classe. Dans "Math.sqrt(x)", sqrt est une méthode static de la classe Math.
Dans le cas "normal" l'attribut ou la méthode s'applique à un objet, il faut donc faire appel à un constructeur et l'état des variables est différent entre chaque objet de la classe.
Avec le mot clé static, cela ne porte plus sur un objet mais sur la classe, donc tous les objets y ont un accès partagé, et on peut l'utiliser sans objet.
Par exemple, dans "System.out", "System" est une classe, et "out" est un attribut static de cette classe. Dans "Math.sqrt(x)", sqrt est une méthode static de la classe Math.