ciao scusate per la semplicità della domanda ma è da poco che sto studiando java e leggendo la teoria, non riesco a capire i metodi statici.
Sò che sono associati alle classi e non agli oggetti.È l'unico vantaggio?
E quando utilizzarli nelle classi?
ciao scusate per la semplicità della domanda ma è da poco che sto studiando java e leggendo la teoria, non riesco a capire i metodi statici.
Sò che sono associati alle classi e non agli oggetti.È l'unico vantaggio?
E quando utilizzarli nelle classi?
Non è questione di "vantaggio" o "svantaggio". Un metodo è di istanza (invocato su un oggetto di un certo tipo) quando il metodo deve, presumibilmente, poter operare sullo "stato" (variabili di istanza) di quello specifico oggetto.
Un metodo statico lo invochi riferito ad una classe ... non ad un oggetto. Perché si presume che non debba o non abbia senso che sia invocabile su un oggetto specifico.
Per: a) metodi di "utilità" (es. quelli in Math), b) metodi "factory" che forniscono oggetti (pre)creati, c) metodi che sono relativi a dati o stati "globali" della applicazione o del sistema (es. currentTimeMillis() e getenv() di System)
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet