Ključna razlika – statična proti končni v Javi
Vsak programski jezik ima posebno sintakso. Programer mora pri pisanju programov upoštevati te sintakse. Ključne besede programskih jezikov imajo posebne pomene glede na naloge. Zagotavlja jih programski jezik in jih ni mogoče uporabiti za uporabniško definirane spremenljivke, metode, razrede itd. Static in final sta dve ključni besedi v Javi. Ta članek obravnava razliko med statičnim in končnim v Javi. Ključna razlika med statičnim in končnim v Javi je, da se statični uporablja za definiranje člana razreda, ki se lahko uporablja neodvisno od katerega koli predmeta razreda, medtem ko se končni uporablja za deklaracijo konstantne spremenljivke ali metode, ki je ni mogoče preglasiti, ali razreda, ki ni mogoče podedovati.
Kaj je statično v Javi?
Razred je sestavljen iz podatkovnih članov (atributov) in metod. Za klic metod mora obstajati predmet tega posebnega razreda. Ko je metoda deklarirana kot statična, ni treba ustvariti predmeta za klic te metode. Metodo lahko pokličete z imenom razreda. Oglejte si spodnji program.
Slika 01: Java program s statičnimi spremenljivkami in statično metodo
V skladu z zgornjim programom razred A vsebuje številsko spremenljivko in metodo prikaza. Oba sta statična člana. Zato ni treba ustvariti objekta za dostop do številske spremenljivke in metode prikaza. Programer lahko neposredno zapiše ime razreda, da natisne številko in prikliče prikaz metode. Torej ni potrebe po instanciranju predmeta. Če sta številska spremenljivka in prikazna metoda nestatična, mora obstajati objekt tipa A.
Slika 02: Uporaba statičnega bloka
Zgornji program vsebuje statični blok in glavno metodo. Statični blok se pokliče, ko je razred naložen. Zato se stavek v statičnem bloku izvede pred stavkom v glavnem bloku. Če je statičnih blokov veliko, se bodo izvajali v zaporedju.
Kaj je končno v Javi?
V programu so lahko spremenljivke različnih tipov. Če obstaja spremenljivka int x=1; pozneje v programu lahko to vrednost spremenljivke spremenite v neko drugo vrednost. Spremenljivke, ki je deklarirana kot končna in inicializirana z vrednostjo, pozneje v programu ni mogoče spremeniti.
Slika 03: Program s končno spremenljivko in dedovanjem
V skladu z zgornjim programom je x končna spremenljivka. Dodeljena mu je vrednost 5. Druge vrednosti je ni mogoče spremeniti, ker je deklarirana kot končna. Java podpira objektno usmerjeno programiranje (OOP). Eden od stebrov OOP je polimorfizem. Ena vrsta polimorfizma je prevladujoča. Razred A ima način prikaza. Razred B razširja razred A in ima svoj način prikaza. Ko ustvarite objekt tipa B in pokličete metodo prikaza, bo kot izhod natisnjen »B«. Način prikaza razreda A preglasi način prikaza razreda B.
Če se mora programer izogniti preglasitvi metode, potem lahko uporabi končno ključno besedo za to metodo. Če je metoda prikaza v razredu A končna, bo metoda prikaza v B dala napako, ker te metode ni mogoče preglasiti.
Slika 04: končna ključna beseda v metodi
Še en steber OOP je dedovanje. Pomaga ponovna uporaba že obstoječe kode. Novi razred se lahko razširi iz obstoječega razreda in uporablja podatkovne člane in metode obstoječega razreda. Če je treba ustaviti dedovanje razreda, lahko programer uporabi ključno besedo 'final'. Oglejte si spodnji program.
Slika 05: končna ključna beseda v razredu
Po zgornjem programu je razred A razglašen za končnega. Ko razred B razširi A, povzroči napako, ker je razred A razglašen za končnega. Ne morejo ga podedovati drugi razredi.
Kakšna je podobnost med statičnim in končnim v Javi?
Statični in končni sta ključni besedi v Javi
Kakšna je razlika med statičnim in končnim v Javi?
statično proti končnemu v Javi |
|
Statična ključna beseda označuje, da je do spremenljivke ali metode člana mogoče dostopati, ne da bi zahtevali primerek razreda, ki mu pripada. | Končna ključna beseda označuje entiteto, ki jo je mogoče dodeliti samo enkrat. |
Spremenljivke | |
Statične spremenljivke je mogoče znova inicializirati. | Končnih spremenljivk ni mogoče znova inicializirati. |
Metode | |
Lahko ga kličejo druge statične metode in dostopa samo do statičnih članov razreda. | Končnih metod ni mogoče preglasiti. |
Razred | |
Statičnega predmeta razreda ni mogoče ustvariti. Vsebuje samo statične člane. | Zadnjega razreda drugi razredi ne morejo podedovati. |
Blokiraj | |
Statično ključno besedo lahko uporabite v bloku. | Končna ključna beseda se ne uporablja z blokom. |
Povzetek – statično proti končnemu v Javi
Ta članek je obravnaval dve ključni besedi v Javi, kot sta static in final. Razlika med statičnim in končnim v Javi je v tem, da se statični uporablja za definiranje člana razreda, ki se lahko uporablja neodvisno od katerega koli predmeta razreda, medtem ko se končni uporablja za deklaracijo konstantne spremenljivke ali metode, ki je ni mogoče preglasiti, ali razreda, ki je ni mogoče biti podedovan.