logo

Diferència entre estàtic i no estàtic a Java

Per entendre com funcionen les classes, les variables i els mètodes a Java, és crucial comprendre les nocions d'estàtica i no estàtica. Els membres no estàtics estan enllaçats a instàncies de classe específiques, mentre que els membres estàtics estan connectats a la classe. En aquesta secció, contrastarem components Java estàtics i no estàtics, destacant les seves diferències i aplicacions potencials.

replaceall en cadena java

Associat amb

Estàtica: Els membres estàtics (variables i mètodes) s'associen a la classe en si en lloc de a instàncies individuals.

No estàtica: Els membres no estàtics són específics de cada instància d'una classe, ja que estan lligats a objectes creats a partir de la classe.

Assignació de memòria

Estàtica: Els membres estàtics només se'ls assigna memòria una vegada, en el moment de la càrrega de la classe. Es comparteixen entre totes les instàncies de la classe.

No estàtica: Els membres no estàtics tenen memòria assignada per separat per a cada instància de la classe. Cada objecte té la seva pròpia còpia de membres no estàtics.

Accedint

Estàtica: Es pot accedir directament als membres estàtics mitjançant el nom de la classe seguit del nom del membre (p. ex., ClassName.memberName). Són accessibles des de qualsevol lloc del programa.

No estàtica: S'accedeix als membres no estàtics mitjançant una referència d'objecte seguida del nom del membre (p. ex., objectReference.memberName). Són específics d'una instància concreta de la classe.

nombre d'1 milió

Inicialització

Estàtica: Els membres estàtics s'inicialitzen quan la classe es carrega a la memòria, normalment durant l'inici del programa. La inicialització només es fa una vegada.

No estàtica: Els membres no estàtics s'inicialitzen quan es crea cada instància de la classe, normalment utilitzant la paraula clau new. La inicialització es produeix per separat per a cada objecte.

Àmbit

Estàtica: Els membres estàtics tenen un abast global i es pot accedir des de qualsevol lloc del programa, fins i tot sense crear una instància de la classe.

No estàtica: Els membres no estàtics tenen un àmbit local i només es pot accedir a través d'una instància de la classe. No són accessibles sense crear un objecte.

cadena a jsonobject

Accés als membres

Estàtica: Els membres estàtics només poden accedir a altres membres estàtics de la mateixa classe. No poden accedir directament als membres no estàtics.

No estàtica: Els membres no estàtics poden accedir tant als membres estàtics com als no estàtics dins de la mateixa classe. Tenen accés directe a tots els membres.

Ús

Estàtica: Els membres estàtics s'utilitzen habitualment per a mètodes d'utilitat, constants o variables que no són específiques per a instàncies individuals. Per exemple, una classe de matemàtiques que conté funcions matemàtiques.

llista c#

No estàtica: Els membres no estàtics s'utilitzen per al comportament específic de la instància, ja que contenen dades específiques de cada objecte. Per exemple, variables d'instància que emmagatzemen valors únics per a cada objecte.

Eficiència de memòria

Estàtica: Els membres estàtics consumeixen memòria només una vegada, independentment del nombre d'instàncies creades. Poden ser eficients en memòria quan s'han de compartir les mateixes dades entre tots els objectes.