In Fällen, in denen es keine Rolle zu spielen scheint, dh der Wert ist ein Parameter und die Funktion arbeitet nicht direkt auf der aufrufenden Objektinstanz, was sind die? "unter der Haube" Unterschiede zwischen dem Aufruf einer Class.function() und Object.function()?Java: Unterschied zwischen Class.function() und Object.function()
Dies kann durch ein gewundenes Beispiel erläutert werden:
Character c = new Character();
boolean b = c.isDigit(c);
gegen
boolean b = Character.isDigit(c);
Ich kann Fälle sehen, wo einfacher (Suche/Ersetzen) würde hartkodierte Variablen ändern, wenn nur Zeichen verwendet wurden, wiederholt statt einer Reihe von verschiedenen Instanznamen. WICHTIG: Was ist die akzeptierte Best Practice?
'isDigit' ist eine statische Methode und sollte nur als solche verwendet werden. – QBrute
Statische Member gehören zur Klasse und nicht zum Objekt. Allerdings haben uns Java-Designer erlaubt, statische Methoden von einem Objekt der Klasse anstatt von der Klasse selbst aufzurufen, da es keine echte Mehrdeutigkeit gibt. Vielleicht ein Designfehler. – Gendarme
Ich kann die Ähnlichkeiten zwischen dieser Frage und der als ein Duplikat vorgeschlagen sehen. Diese Frage baut jedoch auf dieser Antwort auf, indem gefragt wird, was die beste Praxis ist. Es gibt immer Unterschiede, wenn auch nur im Codierungsstil. – user58446