Wie für Verfahren: jede Methode Foo.method (Bar1 b1, Bar2, b2) definitions könnte immer alternative äquivalente Ausführungen:
Bar.altmethod (Foo f, Bar b2)
und
statische static (Foo f, Bar b1, Bar b2)
Und Sie auch, dass letztere Methode als intsance Verfahren in einer Serviceklasse, die ein Singleton selbst (so dass die statische-ness des Verfahrens wickeln könnten ist ein bisschen versteckt von der Cla ss es ist in).
Die einzige zwingende Grund, Ihre Methode als eine Instanzmethode der Klasse eines Ihrer Methodenargumente (der statischen Version) zu haben, ist, wenn Sie dort Unterklassen für diese Klasse erwarten, und das könnte nützlich für diese Unterklassen sein, um eine spezialisierte Implementierung der Methode zu haben.
Klasse GeographicalFigure {Object Quadratur() {...}} Stellen Sie sich vor
es sinnvoll sein könnte, die Möglichkeit offen zu lassen späterer
Klasse Kreis Zusatz erweitert GeographicalFigure {Object Quadratur() {neue werfen ThisIsNoGoodException(); }}
Ansonsten sind alle Ihre Optionen im Wesentlichen gleichwertig.
[Klicken Sie auf mich] (http://docs.oracle.com/javase/tutorial/java/javaOO/classvars.html). – Maroun
Überprüfen Sie Folgendes: [Statisches Schlüsselwort in Java] (http://programmergate.com/static-keyword-java/) –