2 réponses
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.