Statische Methoden sind nützlich, wenn Sie nur eine Instanz (Situation, Umstand) haben, in der Sie die Methode verwenden möchten, und Sie nicht mehrere Kopien (Objekte) benötigen. Wenn Sie beispielsweise eine Methode schreiben, die sich auf einer und nur einer Website anmeldet, die Wetterdaten herunterlädt und dann die Werte zurückgibt, können Sie sie als statisch schreiben, da Sie alle erforderlichen Daten innerhalb der Methode und fest codieren können Sie werden nicht mehrere Instanzen oder Kopien haben. Sie können dann mithilfe einer der folgenden Methoden statisch auf die Methode zugreifen:
MyClass.myMethod();
this.myMethod();
myMethod();
Nicht statische Methoden werden verwendet, wenn Sie mit Ihrer Methode mehrere Kopien erstellen möchten. Wenn Sie beispielsweise die Wetterdaten aus Boston, Miami und Los Angeles herunterladen möchten und dies innerhalb Ihrer Methode tun können, ohne den Code für jeden einzelnen Standort individuell anpassen zu müssen, greifen Sie nicht statisch auf die Methode zu ::
MyClass boston = new MyClassConstructor();
boston.myMethod("bostonURL");
MyClass miami = new MyClassConstructor();
miami.myMethod("miamiURL");
MyClass losAngeles = new MyClassConstructor();
losAngeles.myMethod("losAngelesURL");
Im obigen Beispiel erstellt Java drei separate Objekte und Speicherorte mit derselben Methode, auf die Sie mit der Referenz "boston", "miami" oder "losAngeles" einzeln zugreifen können. Sie können statisch nicht auf die oben genannten Elemente zugreifen, da MyClass.myMethod (); ist ein generischer Verweis auf die Methode, nicht auf die einzelnen Objekte, die der nicht statische Verweis erstellt hat.
Wenn Sie in eine Situation geraten, in der die Art und Weise, wie Sie auf jeden Ort zugreifen oder wie die Daten zurückgegeben werden, so unterschiedlich ist, dass Sie keine "Einheitsgröße" -Methode schreiben können, ohne durch viele Rahmen zu springen, können Sie dies besser Erreichen Sie Ihr Ziel, indem Sie drei separate statische Methoden schreiben, eine für jeden Standort.