Bhe è normalissimo. Per accedere a setFiltro() sei costretto a creare un oggetto in questo caso.
Una variabile dichiarata come static e' condivisa da tutti gli oggetti. In altre parole, se hai una classe che dichiara una variabile come static, di questa non verrà fatta una copia per ogni oggetto che andrai a creare, ma il suo valore sarà in comune a tutti gli oggetti.
Un metodo statico opera generalmente su dati statici. Oppure, puoi creare una classe di "utilità", ove eseguirai le operazioni che non dipendono da un particolare oggetto... ad esempio, molto banale: se ti serve una somma, crei all'interno di una classe, un metodo statico che effettua la somma tra a e b.
La classe Math ad esempio, fa proprio così. Dichiara dei metodi statici!
Tornando al tuo problema, devi dichiarare i metodi al suo interno come static

Rispondi quotando