Starpība starp galīgo un statisko

Matemātikā un zinātnē konstante ir termins, kas apzīmē noteiktu vērtību, piemēram, “π”, kas ir skaitļa 3.14159 praktiskais nosaukums. Java ir sava veida konstantes. Tie ir mainīgie lielumi, kas a) apakšpunktā nepieder nevienam objektam un b) apakšpunkts nemaina to vērtību, tiklīdz tie ir iestatīti. Statiskais vārds mainīgā deklarācijā parāda, ka mainīgais nepieder nevienam objektam. Ir līdzīgs atslēgvārds, kas saka, ka mainīgā vērtība tiks iestatīta tikai vienreiz un nemainīsies. Šis ir atslēgas vārds. Šis atslēgvārds neaprobežojas tikai ar statiskiem mainīgajiem, bet to var izmantot ar gadījumu mainīgajiem, vietējiem mainīgajiem un pat ar mainīgiem, kas ir parametru metodes. Deklarējot mainīgo kā galīgo, jūs visiem parādīsit, ka mainīgajam eksistences laikā būs tāda pati vērtība. Vēl svarīgāk ir tas, ka kompilators atklāj katru mēģinājumu mainīt tā deklarētā mainīgā vērtību un paziņo to par kļūdu. Java terminoloģijā mainīgo, kas tiek deklarēts kā statisks un galīgs, sauc par konstantu.

Kas ir galīgais?

Galīgo modifikatoru Java programmēšanas valodā var izmantot vairākās vietās. Šeit mēs apskatīsim tā visbiežāk izmantoto. Galīgo modifikatoru var izmantot lokālo mainīgo, funkciju argumentu un nestatisko vai statisko locekļu mainīgo deklarēšanai. Šajā kontekstā mainīgais modifikators pārvēršas konstācijā. Tulkošanas valodas tulks pārbaudīs, vai kāds kods mēģina mainīt vērtību, un šādi mēģinājumi tiek atzīmēti kā kļūda. Šeit ir piemērs.

galīgā int vērtība = 17;

Statiskie locekļu mainīgie ar šo modifikatoru tiek izmantoti kā globālās konstantes; piemēram, java.lang.matemātiskajā mainīgajā PI tas ir precīzi norādīts

publiski statiskā gala dubultā PI = 3.14159265358979323846;

Funkcijas deklarācijā mēs varam izmantot galīgo modifikatoru. Funkciju, kas apzīmēta ar finālu, vairs nevar ignorēt - tā ir tās galīgā ieviešana. Abstraktās metodes nevar atzīt par galīgām - tas, ka tās ir abstraktas, nozīmē, ka tās nav ieviestas; tas noteikti nevar būt viņu galīgais stāvoklis. Šeit ir piemērs.

public final int nozīmeLife ()

atgriezties 42;

Mēs varam piemērot galīgo modifikatoru klases deklarācijā. Klase, kas tiek atzīmēta ar finālu, vairs nevar mantot - tā ir tās galīgā ieviešana. Skaidrs, ka abstraktā klase vienlaikus nevar būt galīgā. Šeit ir piemērs

noslēguma klase slēgta

//…

Viens no ierobežotās klases piemēriem ir java.lang.String klase - tā ir ierobežota, lai neviens to nevarētu mantot un tādējādi piekļūt tās dalībnieku mainīgajiem..

Kas ir statisks?

Statiskie mainīgie nepieder pie konkrētā klases gadījuma. Statiskie mainīgie pieder pie pašas klases, un atmiņā ir tikai viena atrašanās vieta, neatkarīgi no atmiņas klases izveidoto eksemplāru skaita. Nestatiski mainīgie pieder klases paraugiem - katram klases gadījumam ir sava šādu mainīgo kopija. Statiskie mainīgie pieder klasei - klase atmiņā saglabā šādu mainīgo vērtības; tāpēc visām izlases klasēm ir vienāds saturs, tāpēc mēs varam uzskatīt, ka statiskie mainīgie ir dalāmi starp visiem klases lielumiem. Atjauninot vērtības mainīgo, jaunā vērtība būs automātiski redzama visiem šīs klases gadījumiem. Statisko filtru var izmantot jebkuram elementam, kas likumīgi deklarēts klases ietvaros. Dalības mainīgo gadījumā sekas ir tādas, ka šādi dalībnieku mainīgie lielumi tiks saglabāti atmiņā tikai vienā vietā. Kas notiek, ja tā ir metode? Paziņojot metodi par statisku, ziņojums ir tāds pats: attiecīgā metode nepieder klašu klasēm, bet pašai klasei. Līdz ar to statiskās metodes nesaņem slēptu atsauci uz objektu, pār kuru tās tiek izsauktas; statiskās atsauces metodēs tas nav pieejams. Patiešām, statisko metožu piesaiste visā objektā ir tikpat mulsinoša kā piekļūšana statiskiem locekļu mainīgajiem, atsaucoties uz šo atsauci: abos gadījumos labāk ir vienkārši uzrakstīt klases nosaukumu, punktu un izsaucošās metodes nosaukumu..

Starpība starp galīgo un statisko

  1. Mainīgs

Statiskais apzīmē mainīgo, kas ir kopīgs visiem objektiem, kas paātrina doto klasi, kamēr galīgais nosaka konstantu.

  1. Metode

Statiska ir metode, kas ir vienāda katram objektam, kuram dota klase, - to sauc arī par klases dalībnieku, piem. tāda ir galvenā metode. Galīgo metodi nevar apstrādāt mantotajā klasē.

  1. Klase

Finālu nevar paplašināt, t.i., neatļauj apakšklases. Statika neattiecas uz klasi.

  1. Vērtība

Vienkārši sakot, galīgais apzīmēja, ka vērtību nevar mainīt (ignorēt). Statiskā vērtība ir iestatīta uz noklusējuma vērtību, bet to var atkārtoti inicializēt.

Fināls pret statisko: salīdzināšanas diagramma

Galīgā un statiskā kopsavilkums

  • Atslēgas darba statika nodrošina piekļuvi pat tad, ja nav objekta (instances). Ievērojamas klases tiek deklarētas, izmantojot atslēgas vārdu statisks. Ja nevēlaties, lai dažu programmas vērtību izmaiņas vēlāk mainītos, vai arī ja vēlaties, lai kompilators pārbaudītu un aizliegtu, varat mainīt šo solījumu uz galīgo. Inicializēšanai ir statisks bloks. Inicializācijas statiskais bloks tiek paziņots par galveno statisko iekavu priekšā. Šāda veida bloks tiek veikts vienu reizi, klases lasīšanas laikā, un tas parasti inicializē klases statiskos locekļus.