PDA

Visualizza la versione completa : [JAVA] static o non static?


Lopps
15-02-2004, 12:06
Ciao a tutti,
qualcuno mi puo spiegare le differenze tra metodi (o variabili) static e non static?
L'unica cosa che ho capito e che non bisogna istanziare la classe per usare i metodi static, ma credo che ci siano altre differenze.

Grazie.

Sgrulka
15-02-2004, 12:57
I metodi statici servono per svolgere delle operazioni che non hanno a che fare con un'istanza di un oggetto. Un ottimo esempio di metodi statici sono quelli inclusi nella classe Math, che contiene una serie di metodi che accettano dei parametri in entrata e restituiscono un valore. Non c'e' bisogno di instanziare un oggetto Math, perche' il risultato non dipende dallo stato in cui si trova un ipotetico oggetto. Sono delle semplici funzioni che possono essere chiamate da qualsiasi parte del'applicazione, senza avere la necessita' di instanziare nulla.
Lo stesso discorso vale anche per le variabili statiche: e' come se fossero delle variabili globali, che manterranno lo stesso valore da qualsiasi parte dell'applicazione vengano lette.
In pratica, la differenza sta nel fatto che esistera' sempre soltanto una copia di quella variabile o quel metodo, a differenza di quelli non statici, di cui ogni oggetto instanziato ne contiene una propria copia.

Loading