Skillnaden mellan statisk och final i Java

Innehållsförteckning:

Skillnaden mellan statisk och final i Java
Skillnaden mellan statisk och final i Java

Video: Skillnaden mellan statisk och final i Java

Video: Skillnaden mellan statisk och final i Java
Video: what is the diff between static and final in java 2024, Juli
Anonim

Key Difference – statisk vs final i Java

Varje programmeringsspråk har en specifik syntax. Programmeraren bör följa dessa syntaxer när han skriver program. Nyckelorden för programmeringsspråk har specifika betydelser beroende på uppgifterna. De tillhandahålls av programmeringsspråket och kan inte användas för användardefinierade variabler, metoder, klasser etc. Det statiska och det sista är två nyckelord i Java. Den här artikeln diskuterar skillnaden mellan statisk och final i Java. Den viktigaste skillnaden mellan static och final i Java är att static används för att definiera klassmedlemmen som kan användas oberoende av något objekt i klassen medan final används för att deklarera en konstant variabel eller en metod som inte kan åsidosättas eller en klass som kan inte ärvas.

Vad är statiskt i Java?

En klass består av datamedlemmar (attribut) och metoder. För att anropa metoderna bör det finnas ett objekt av den specifika klassen. När en metod deklareras som statisk, behövs det inte skapas ett objekt för att anropa den metoden. Metoden kan anropas med hjälp av klassnamnet. Se programmet nedan.

Skillnaden mellan statisk och final i Java
Skillnaden mellan statisk och final i Java

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 talvariabeln och visningsmetoden. Programmeraren kan direkt skriva klassnamnet för att skriva ut numret och anropa metoddisplayen. Så det finns inget behov av att instansiera ett objekt. Om talvariabeln och visningsmetoden är icke-statiska, bör det finnas ett objekt av typen A.

Skillnaden mellan statisk och final i Java_Figure 02
Skillnaden mellan statisk och final i Java_Figure 02

Figur 02: Användning av statiskt block

Programmet ovan innehåller det statiska blocket och huvudmetoden. Det statiska blocket anropas när klassen laddas. Därför körs satsen i det statiska blocket före satsen i huvudblocket. Om det finns många statiska block kommer de att köras i följd.

Vad är final 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 variabelvärdet ändras till något annat värde. En variabel som deklareras som final och initialiserad med ett värde kan inte ändras senare i programmet.

Skillnaden mellan statisk och final i Java_Figure 03
Skillnaden mellan statisk och final i Java_Figure 03

Figur 03: Program med slutlig variabel och arv

Enligt programmet ovan är x en slutvariabel. Det tilldelas ett värde 5. Det kan inte ändras något annat värde eftersom det deklareras som slutgiltigt. Java stöder objektorienterad programmering (OOP). En pelare i OOP är en polymorfism. En typ av polymorfism är överordnad. Klass A har visningsmetoden. Klassen B utökar klass A och den har sin egen visningsmetod. När du skapar ett objekt av typ B och anropar kommer displaymetoden att skriva ut "B" som utdata. Visningsmetoden för klass A åsidosätts av visningsmetoden för klass B.

Om programmeraren vad ska undvika att åsidosätta en metod, då kan han använda det sista nyckelordet för den metoden. Om visningsmetoden i klass A är final kommer visningsmetoden i B att ge ett fel eftersom den metoden inte kan åsidosättas.

Skillnaden mellan statisk och final i Java_Figure 04
Skillnaden mellan statisk och final i Java_Figure 04

Figur 04: sista nyckelordet i metoden

En annan pelare i OOP är arv. Det hjälper att återanvända den redan befintliga koden. Den nya klassen kan sträcka sig från den befintliga klassen och använda datamedlemmarna och metoderna för den befintliga klassen. Om det krävs för att sluta ärva en klass kan programmeraren använda nyckelordet "final". Se programmet nedan.

Ke3y Skillnad mellan statisk och final i Java
Ke3y Skillnad mellan statisk och final i Java

Figur 05: sista nyckelordet i klassen

Enligt ovanstående program förklaras klass A som final. När klass B förlänger A ger det ett fel eftersom klass A förklaras som final. Det kan inte ärvas av andra klasser.

Vad är likheten mellan statisk och final i Java?

Både statiska och slutgiltiga är nyckelord i Java

Vad är skillnaden mellan statisk och final i Java?

static vs final i Java

Statiskt nyckelord anger att en medlemsvariabel, eller metod, kan nås utan att det krävs en instansiering av klassen den tillhör. Det sista nyckelordet betecknar en enhet som bara kan tilldelas en gång.
Variabler
De statiska variablerna kan återinitialiseras. De slutliga variablerna kan inte återinitialiseras.
Methods
Kan anropas med andra statiska metoder och bara komma åt de statiska medlemmarna i klassen. De sista metoderna kan inte åsidosättas.
Klass
Det statiska klassobjektet kan inte skapas. Den innehåller bara statiska medlemmar. Den sista klassen kan inte ärvas av andra klasser.
Block
Det statiska nyckelordet kan användas i ett block. Det sista nyckelordet används inte med ett block.

Sammanfattning – statisk vs final i Java

Den här artikeln diskuterade två nyckelord i Java, som statisk och final. Skillnaden mellan static och final i Java är att static används för att definiera klassmedlemmen som kan användas oberoende av något objekt i klassen medan final används för att deklarera en konstant variabel eller en metod som inte kan åsidosättas eller en klass som inte kan åsidosättas. gå i arv.

Rekommenderad: