Diferència entre estàtica i final a Java

Autora: Laura McKinney
Data De La Creació: 2 Abril 2021
Data D’Actualització: 16 Ser Possible 2024
Anonim
Diferència entre estàtica i final a Java - Tecnologia
Diferència entre estàtica i final a Java - Tecnologia

Content


Estàtiques i finals són les paraules clau utilitzades en Java. Es pot accedir al membre estàtic abans de crear l’objecte classe. Final té un efecte diferent quan s'aplica a classes, mètodes i variables. La diferència principal entre una paraula clau estàtica i la final és que estàtic is keywords s’utilitza per definir el membre de classe que es pot utilitzar independentment de qualsevol objecte d’aquesta classe. Final la paraula clau s’utilitza per declarar, una variable constant, un mètode que no es pot substituir i una classe que no es pot heretar.

  1. Gràfic de comparació
  2. Definició
  3. Diferències claus
  4. Conclusió

Gràfic de comparació

Bases per a la comparacióEstàticFinal
AplicableLa paraula clau estàtica és aplicable a les classes, variables, mètodes i blocs estàtics imbricats.La paraula clau final s'aplica a les classes, mètodes i variables.
InicialitzacióNo és obligatori inicialitzar la variable estàtica en el moment de la seva declaració.És obligatori inicialitzar la variable final en el moment de la seva declaració.
ModificacióEs pot reinicialitzar la variable estàtica.La variable final no es pot reinicialitzar.
MètodesEls mètodes estàtics només poden accedir als membres estàtics de la classe i només es poden trucar amb altres mètodes estàtics.Els mètodes finals no es poden heretar.
ClasseL'objecte de les classes estàtiques no es pot crear i només conté membres estàtics.Una classe final no pot ser heretada per cap classe.
BlocEl bloc estàtic s'utilitza per inicialitzar les variables estàtiques.La paraula clau final no admet cap bloqueig.


Definició de Static

Static és una paraula clau, aplicable a les classes, variables, mètodes i blocs. Els membres de classe, classe i blocs es poden fer estàtics mitjançant la paraula clau "estàtica" davant del nom dels membres de la classe, la classe i els blocs respectivament. Quan un membre de la classe es declara estàtic, es fa global per a tots els altres membres de la classe. El membre estàtic de la classe no ocupa memòria per exemple, és a dir, tots els objectes comparteixen la mateixa còpia del membre estàtic. El membre estàtic es pot utilitzar independentment de qualsevol objecte d'aquesta classe. Podeu accedir al membre estàtic de la classe abans que es creï el seu objecte. El millor exemple del membre estàtic és el mètode principal (), es declara estàtic de manera que es pot invocar abans que existeixi qualsevol objecte. El formulari general per accedir al membre estàtic de la classe:


class_name.static_member // accedint al membre estàtic de la classe

A sobre, el codi class_name és el nom de la classe en la qual es defineix el static_member. El membre estàtic pot ser una variable estàtica o un mètode estàtic

Variables estàtiques:

  • Una variable estàtica actua com una variable global per a tots els altres membres de la classe.
  • Es pot accedir a una variable estàtica abans que existeixi qualsevol objecte de la classe.
  • Es pot accedir a una variable estàtica amb el nom de classe en què es defineix seguit de l'operador de punt (.).

Mètodes estàtics:

  • Un mètode estàtic només pot trucar a altres mètodes estàtics.
  • Un mètode estàtic només pot accedir a dades estàtiques.
  • Un mètode estàtic no es pot referir a "això" ni a "súper" en cap condició.
  • Es pot accedir a un mètode estàtic amb el nom de classe en què es defineix seguit de l'operador de punt (.).

Classe estàtica:

  • Java sí que té el concepte de classe estàtica nidificada. La classe més externa no es pot fer estàtica mentre que la classe més externa es pot fer estàtica.
  • Una classe anidada estàtica no pot accedir al membre no estàtic de la classe exterior.
  • Només pot accedir als membres estàtics de la classe exterior.

Bloc estàtic:

El bloc estàtic només s’executa una vegada quan es carrega la classe. S'utilitza per inicialitzar les variables estàtiques de la classe.

C ++:

En C ++ tenim el concepte de variables estàtiques i funcions estàtiques mentre que, C ++ no admet la classe estàtica.

C #:

C # admet la classe estàtica, les variables estàtiques i la classe estàtica també.

Java:

Java admet la classe nidificada estàtica, variables estàtiques i mètodes estàtics.

Definició de Final

Final és una paraula clau aplicable a la classe, la variable i els mètodes. La classe, variable i el mètode es declara final mitjançant la paraula clau “final” precedida del seu nom. Una vegada que una variable és declarada definitiva; no es pot modificar més al programa. S'ha d'inicialitzar una variable final a la declaració d'hora. Les variables finals no ocupen memòria per cas. Tots els objectes de les classes comparteixen la mateixa còpia de la variable final.

El mètode declarat com a final no es pot substituir per la subclasse d’aquella classe en què es declara el mètode final. Quan una classe es declara com a final, una altra classe no pot heretar aquesta classe final. C ++, C # no admeten el concepte si és paraula clau final. Java és compatible amb el concepte de paraula clau final i en Java; la classe, la variable i el mètode es poden declarar com a finals.

  1. La paraula clau estàtica s'aplica a una classe, variables, mètodes i blocs estàtics nidificats. D'altra banda, la paraula clau final s'aplica als mètodes i variables de classe.
  2. La variable estàtica es pot inicialitzar en qualsevol moment, mentre que, una variable final s'ha d'inicialitzar en el moment de la declaració.
  3. Es pot reinicialitzar una variable estàtica mentre que, un cop inicialitzada, no es pot reinicialitzar mai una variable final.
  4. Un mètode estàtic pot accedir al membre estàtic de la classe i només es pot invocar mitjançant altres mètodes estàtics. D’altra banda, el mètode final mai no pot ser heretat per cap classe.
  5. El bloc estàtic s'utilitza per inicialitzar les variables estàtiques, mentre que, la paraula clau final no és compatible amb cap bloc.

Conclusió:

Tant la paraula clau estàtica com la final resolen propòsits diferents quan s'apliquen a la classe, a la variable i al mètode.