Forskellen mellem statisk og endelig i Java

Indholdsfortegnelse:

Forskellen mellem statisk og endelig i Java
Forskellen mellem statisk og endelig i Java

Video: Forskellen mellem statisk og endelig i Java

Video: Forskellen mellem statisk og endelig i Java
Video: #16 Ключевые слова static и final | Java для начинающих 2024, Juli
Anonim

Nøgleforskel – statisk vs finale i Java

Hvert programmeringssprog har en bestemt syntaks. Programmøren bør følge disse syntakser, når han skriver programmer. Nøgleordene for programmeringssprog har specifikke betydninger i henhold til opgaverne. De leveres af programmeringssproget og kan ikke bruges til brugerdefinerede variabler, metoder, klasser osv. Det statiske og det endelige er to nøgleord i Java. Denne artikel diskuterer forskellen mellem statisk og endelig i Java. Den vigtigste forskel mellem static og final i Java er, at static bruges til at definere klassemedlemmet, der kan bruges uafhængigt af ethvert objekt i klassen, mens final bruges til at erklære en konstant variabel eller en metode, der ikke kan tilsidesættes, eller en klasse, der kan ikke arves.

Hvad er statisk i Java?

En klasse består af datamedlemmer (attributter) og metoder. For at kalde metoderne skal der være et objekt af den specifikke klasse. Når en metode er erklæret som statisk, er det ikke nødvendigt at oprette et objekt for at kalde denne metode. Metoden kan kaldes ved hjælp af klassenavnet. Se nedenstående program.

Forskellen mellem statisk og endelig i Java
Forskellen mellem statisk og endelig i Java

Figur 01: Java-program med statiske variable og statisk metode

I henhold til ovenstående program indeholder klasse A talvariable og visningsmetode. Begge er statiske medlemmer. Derfor er det ikke nødvendigt at oprette et objekt for at få adgang til talvariablen og visningsmetoden. Programmereren kan skrive klassenavnet direkte for at udskrive nummeret og kalde metodedisplayet. Så der er ingen grund til at instantiere et objekt. Hvis talvariablen og visningsmetoden er ikke-statiske, skal der være et objekt af typen A.

Forskellen mellem statisk og endelig i Java_Figure 02
Forskellen mellem statisk og endelig i Java_Figure 02

Figur 02: Brug af statisk blok

Ovenstående program indeholder den statiske blok og hovedmetoden. Den statiske blok kaldes, når klassen er indlæst. Derfor udføres sætningen i den statiske blok før sætningen i hovedblokken. Hvis der er mange statiske blokke, vil de udføres i rækkefølge.

Hvad er finalen i Java?

I programmet kan der være variabler af forskellige typer. Hvis der er en variabel som int x=1; senere i programmet kan den variable værdi ændres til en anden værdi. En variabel, der er erklæret som endelig og initialiseret med en værdi, kan ikke ændres senere i programmet.

Forskellen mellem statisk og endelig i Java_Figure 03
Forskellen mellem statisk og endelig i Java_Figure 03

Figur 03: Program med endelig variabel og arv

I henhold til ovenstående program er x en slutvariabel. Den er tildelt en værdi 5. Den kan ikke ændres en anden værdi, fordi den er erklæret som endelig. Java understøtter objektorienteret programmering (OOP). En søjle i OOP er en polymorfi. En type polymorfi er altoverskyggende. Klasse A har visningsmetoden. Klassen B udvider klasse A, og den har sin egen visningsmetode. Når du opretter et objekt af type B og kalder, vil displaymetoden udskrive "B" som output. Visningsmetoden for klasse A tilsidesættes af visningsmetoden for klasse B.

Hvis programmøren hvad skal undgå at tilsidesætte en metode, så kan han bruge det endelige nøgleord for den metode. Hvis visningsmetoden i klasse A er endelig, vil visningsmetoden i B give en fejl, fordi den metode ikke kan tilsidesættes.

Forskellen mellem statisk og endelig i Java_Figure 04
Forskellen mellem statisk og endelig i Java_Figure 04

Figur 04: sidste søgeord i metoden

En anden søjle i OOP er arv. Det hjælper at genbruge den allerede eksisterende kode. Den nye klasse kan strække sig fra den eksisterende klasse og bruge datamedlemmerne og metoderne i den eksisterende klasse. Hvis det er påkrævet at stoppe med at arve en klasse, kan programmøren bruge søgeordet 'final'. Se nedenstående program.

Ke3y Forskel mellem statisk og endelig i Java
Ke3y Forskel mellem statisk og endelig i Java

Figur 05: sidste søgeord i klassen

I henhold til ovenstående program er klasse A erklæret som endelig. Når klasse B udvider A, giver det en fejl, fordi klasse A erklæres som endelig. Det kan ikke nedarves af andre klasser.

Hvad er ligheden mellem statisk og endelig i Java?

Både statiske og endelige er nøgleord i Java

Hvad er forskellen mellem statisk og endelig i Java?

statisk vs finale i Java

Statisk nøgleord angiver, at en medlemsvariabel eller metode kan tilgås uden at kræve en instansiering af den klasse, den tilhører. Det sidste søgeord angiver en enhed, der kun kan tildeles én gang.
Variabler
De statiske variable kan geninitialiseres. De endelige variabler kan ikke geninitialiseres.
Methods
Kan kaldes ved andre statiske metoder og kun få adgang til de statiske medlemmer af klassen. De endelige metoder kan ikke tilsidesættes.
Klasse
Det statiske klasseobjekt kan ikke oprettes. Den indeholder kun statiske medlemmer. Den sidste klasse kan ikke arves af andre klasser.
Blok
Det statiske nøgleord kan bruges i en blok. Det endelige søgeord bruges ikke med en blok.

Opsummering – statisk vs finale i Java

Denne artikel diskuterede to nøgleord i Java, såsom statisk og endelig. Forskellen mellem static og final i Java er, at static bruges til at definere klassemedlemmet, der kan bruges uafhængigt af ethvert objekt i klassen, mens final bruges til at erklære en konstant variabel eller en metode, der ikke kan tilsidesættes, eller en klasse, der ikke kan gå i arv.

Anbefalede: