Les méthodes statiques sont utiles si vous n'avez qu'une seule instance (situation, circonstance) où vous allez utiliser la méthode, et que vous n'avez pas besoin de copies multiples (objets). Par exemple, si vous écrivez une méthode qui se connecte à un seul et unique site Web, télécharge les données météorologiques et renvoie les valeurs, vous pouvez l'écrire en tant que méthode statique car vous pouvez coder en dur toutes les données nécessaires dans la méthode et vous n'aurez pas de multiples instances ou copies. Vous pouvez alors accéder à la méthode de manière statique en utilisant l'une des méthodes suivantes :
MyClass.myMethod();
this.myMethod();
myMethod();
Les méthodes non statiques sont utilisées si vous avez l'intention d'utiliser votre méthode pour créer plusieurs copies. Par exemple, si vous souhaitez télécharger les données météorologiques de Boston, Miami et Los Angeles, et si vous pouvez le faire à partir de votre méthode sans avoir à personnaliser le code pour chaque emplacement distinct, vous accédez alors à la méthode non statique :
MyClass boston = new MyClassConstructor();
boston.myMethod("bostonURL");
MyClass miami = new MyClassConstructor();
miami.myMethod("miamiURL");
MyClass losAngeles = new MyClassConstructor();
losAngeles.myMethod("losAngelesURL");
Dans l'exemple ci-dessus, Java crée trois objets et emplacements mémoire distincts à partir de la même méthode, auxquels vous pouvez accéder individuellement avec la référence "boston", "miami" ou "losAngeles". Vous ne pouvez accéder à aucun de ces objets de manière statique, car MyClass.myMethod() ; est une référence générique à la méthode, et non aux objets individuels que la référence non statique a créés.
Si vous vous trouvez dans une situation où la façon d'accéder à chaque emplacement, ou la façon dont les données sont renvoyées, est suffisamment différente pour que vous ne puissiez pas écrire une méthode "taille unique" sans passer par de nombreux obstacles, vous pouvez mieux atteindre votre objectif en écrivant trois méthodes statiques distinctes, une pour chaque emplacement.
3 votes
Ici, Comprendre les membres des instances et des classes C'est très bien expliqué.