Un mètode estàtic pertany a la classe i un mètode no estàtic pertany a un objecte d'una classe. Es pot accedir als mètodes estàtics directament des de la classe, mentre que els mètodes no estàtics (o mètodes d'instància com m'agrada anomenar-los) s'han d'accedir des d'una instància.
Quan hauria de ser un mètode estàtic o no estàtic?
Un mètode estàtic pertany a la pròpia classe i un mètode no estàtic (també conegut com a instància) pertany a cada objecte que es genera a partir d'aquesta classe. Si el vostre mètode fa alguna cosa que no depèn de les característiques individuals de la seva classe, feu-lo estàtic (reduirà la petjada del programa).
Quan faries servir un mètode no estàtic?
Un mètode no estàtic a Java pot accedir a mètodes i variables estàtiques de la següent manera:
- Un mètode no estàtic pot accedir a qualsevol mètode estàtic sense crear una instància de la classe.
- Un mètode no estàtic pot accedir a qualsevol variable estàtica sense crear una instància de la classe perquè la variable estàtica pertany a la classe.
Quan hauríeu d'utilitzar les funcions estàtiques?
Quan vulgueu tenir una variable que sempre tingui el mateix valor per a tots els objectes de la classe, per sempre i per sempre, feu-la estàtica. Si teniu un mètode que no utilitza cap variable d'instància ni mètodes d'instància, probablement haureu de fer-lo estàtic.
Quina diferència hi ha entre el camp estàtic i el no estàtic?
Les variables o camps estàtics pertanyen a la classe, i no a cap objecte de la classe. Una variable estàtica s'inicializa quan la classe es carrega en temps d'execució. Els camps no estàtics són camps d'instància d'un objecte. Només es pot accedir o invocar-hi mitjançant una referència d'objecte.