Come e dove dovremmo usare un modificatore statico per:Come e dove usare il modificatore statico in Java?
1. Campo e
2. Metodo?
Per example in java.lang.Math
di classe, i metodi di campi come abs(), atan(), cos() ecc sono statici, cioè esse si può accedere come: Math.abs()
Ma perché è una buona pratica?
Dire, non lo mantengo statico e creare un oggetto della classe e accedervi, che comunque posso, ricevo solo un avvertimento che stai provando ad accedere a un metodo statico in modo non statico (come sottolineato da @duffymo, non nel caso della classe Math).
UPDATE 1:
Quindi, metodo di utilità, dovrebbe essere statico, cioè il cui lavoro dipende solo sui parametri di metodo. Quindi, ad esempio, il metodo updateString(String inputQuery, String highlightDoc)
dovrebbe essere un metodo statico in this question?
si prega di controllare il mio aggiornamento. Puoi dare alcune informazioni sul metodo di esempio che ho postato nella mia domanda. Che è anche un metodo di utilità – zengr
@zengr: Sì, vorrei rendere statico quel metodo. È possibile immaginare, ad esempio, una classe StringHelper che racchiuda tutte le operazioni di manipolazione delle stringhe specifiche dell'applicazione (come quella eseguita da tale metodo). In effetti, vorrei rendere _any_ metodo statico se non fa riferimento alla parola chiave 'this'; non c'è bisogno di creare una copia di questo metodo su ogni oggetto, è più leggibile in questo modo, ed è buono per la chiarezza del design complessivo IMO. – Alex