Skillnad mellan statisk och slutlig i Java

Huvudskillnad - statisk vs slutlig i Java
 

Varje programmeringsspråk har en viss syntax. Programmeraren bör följa dessa syntaxer när du skriver program. Nyckelord för programmeringsspråk har särskilda betydelser enligt uppgifterna. De tillhandahålls av programmeringsspråket och kan inte användas för användardefinierade variabler, metoder, klasser, etc. Den statiska och slutliga är två nyckelord i Java. I denna artikel diskuteras skillnaden mellan statisk och slutlig i Java. De nyckelskillnad mellan statiska och slutliga i Java är det statisk används för att definiera klassmedlem som kan användas oberoende av klassens föremål, medan slutändan används för att deklarera en konstant variabel eller en metod som inte kan överskridas eller en klass som inte kan ärftas.

INNEHÅLL

1. Översikt och nyckelskillnad
2. Vad är statiskt i Java
3. Vad är slutgiltigt i Java
4. Likheter Mellan statisk och slutlig i Java
5. Sida vid sida jämförelse - statisk vs slutlig i Java i tabellform
6. Sammanfattning

Vad är statiskt i Java?

En klass består av data medlemmar (attribut) och metoder. För att kalla metoderna borde det vara ett föremål för den specifika klassen. När en metod förklaras som statisk, är det inte nödvändigt att skapa ett objekt för att ringa den metoden. Metoden kan ringas med klassnamnet. Se nedan programmet.

Figur 01: Java-program med statiska variabler och statisk metod

Enligt ovanstående program innehåller klass A nummervariabel och visningsmetod. Båda är statiska medlemmar. Därför är det inte nödvändigt att skapa ett objekt för att komma åt numrervariabeln och visningsmetoden. Programmeraren kan direkt skriva klassnamnet för att skriva ut numret och ringa metoddisplayen. Så, det finns inget behov av att instansera ett objekt. Om talvariabeln och visningsmetoden är icke-statiska, ska det finnas ett objekt av typ A.

Figur 02: Användning av statiskt block

Ovanstående program innehåller det statiska blocket och huvudmetoden. Det statiska blocket heter när klassen laddas. Därför exekverar uttalandet i det statiska blocket före uttalandet i huvudblocket. Om det finns många statiska block, kommer de att utföras i följd.

Vad är slutgiltigt i Java?

I programmet kan det finnas variabler av olika slag. Om det finns en variabel som int x = 1; senare i programmet kan det variabla värdet ändras till något annat värde. En variabel som deklareras som slutlig och initialiserad med ett värde kan inte ändras senare i programmet.

Figur 03: Program med slutlig variabel och arv

Enligt ovanstående program är x en slutlig variabel. Det tilldelas ett värde 5. Det kan inte ändras något annat värde eftersom det förklaras som slutligt. Java stöder Objektorienterad programmering (OOP). En pelare med OOP är en polymorfism. En typ av polymorfism är överordnad. Klass A har visningsmetoden. Klass B utökar klass A och har sin egen visningsmetod. När du skapar ett föremål av typ B och ringer visas visningsmetoden "B" som utgång. Visningsmetoden för klass A överstyrs av visningsmetoden för klass B.

Om programmeraren vad som ska undvikas att överväga en metod, kan han använda det sista sökordet för den metoden. Om visningsmetoden i klass A är slutlig, kommer visningsmetoden i B att ge ett fel eftersom den här metoden inte kan överskridas.

Figur 04: sista sökordet i metoden

En annan pelare av OOP är arv. Det hjälper till att återanvända redan befintlig kod. Den nya klassen kan sträcka sig från den befintliga klassen och använda datamedlemmarna och metoderna i den befintliga klassen. Om det är nödvändigt att sluta ärva en klass kan programmeraren använda sökordets slutliga. Se nedan programmet.

Figur 05: sista sökordet i klassen

Enligt ovanstående program deklareras klass A som slutgiltigt. När klass B sträcker sig A, ger det ett fel eftersom klass A förklaras som slutgiltigt. Den kan inte ärftas av andra klasser.

Vad är likheten mellan statisk och slutlig i Java?

  • Både statiska och slutliga är nyckelord i Java.

Vad är skillnaden mellan statisk och slutgiltig i Java?

statisk vs slutlig i Java

Statiskt nyckelord anger att en medlemsvariabel eller metod kan nås utan att det krävs en instansiering av den klass som den tillhör. Det slutliga sökordet anger en enhet som endast kan tilldelas en gång.
 variabler
De statiska variablerna kan på nytt initieras. De slutliga variablerna kan inte på nytt initieras.
metoder
Kan kallas av andra statiska metoder och bara få tillgång till klassens statiska medlemmar. De slutliga metoderna kan inte överskridas.
Klass
Det statiska klassobjektet kan inte skapas. Den innehåller endast statiska medlemmar. Den slutliga klassen kan inte ärftas av andra klasser.
Blockera
Det statiska sökordet kan användas i ett block. Det slutliga sökordet används inte med ett block.

Sammanfattning - statisk vs slutlig i Java

Den här artikeln diskuterade två nyckelord i Java som statisk och slutlig. Skillnaden mellan statisk och slutgiltig i Java är att statisk används för att definiera klassmedlemmen som kan användas oberoende av klassens objekt, medan slutändan används för att deklarera en konstant variabel eller en metod som inte kan överskridas eller en klass som inte kan vara ärftlig.

Referens:

1. Vad är Static Keyword i Java | statisk metod och statisk variabel, Telusko Learnings, 6 mars 2015. Tillgänglig här  
2.7.16 Hur man använder Static Block i Java Tutorial, Telusko Learnings, 30 april 2015. Tillgänglig här
3.8.13 Hur man använder Final Keyword i Java | Metod, klass och variabel, Telusko Learnings, 26 Feb. 2015. Tillgänglig här