2 réponses
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 015
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.