Huvudskillnaden mellan statisk och slutlig är att statisk används för att definiera klassmedlem som kan användas oberoende av klassens objekt. I kontrast, slutlig används för att deklarera en konstant variabel eller en metod som inte kan överskridas eller en klass som inte kan ärftas.
Statiska och slutliga är två nyckelord som används i många Objektorientering som stöder programmeringsspråk som Java. Statisk används med variabler och metoder för att definiera att det tillhör klassen, inte objektet. Å andra sidan används slutlig för att begränsa användaren från att komma åt en variabel, metod eller en klass.
1. Vad är statiskt
- Definition, Funktionalitet
2. Vad är slutligt
- Definition, Funktionalitet
3. Vad är skillnaden mellan statiska och slutliga
- Jämförelse av viktiga skillnader
Klass, Slutlig Variabel, Statisk Variabel
En klass består av variabler och metoder. Ett objekt skapas från en klass; Detta objekt kan användas för att ringa variabel och metoder. När en klassmedlem är deklarerad med statisk, är det inte nödvändigt att skapa ett objekt för att ringa metoder och variabler. Istället kan klassnamnet användas för att ringa det. Med andra ord är statiskt ett nyckelord som tillhör klassen istället för objektet.
En variabel med det statiska sökordet heter en statisk variabel. De brukar hänvisa till en gemensam egenskap hos en samling objekt. Dessa variabler får minne vid läsning av klassen. Den största fördelen med en statisk variabel är att det hjälper till att spara minne.
Figur 1: Statisk variabel
I ovanstående program finns en statisk variabel som kallas räkning. I konstruktören ökas räkningen med 1. I huvudprogrammet skapas tre studentobjekt. Att skriva ut räkningen ger resultatet 3 eftersom det finns tre objekt. Räknevariabeln delas av alla objekt. Varje gång ett objekt skapas ökas räkningen med en. När räknaren visas ska den skrivas med klassnamnet (t ex - Student.count).
En metod med det statiska sökordet kallas en statisk metod. Ett exempel är som följer.
Figur 2: Statisk metod
I ovanstående program är kvadrat en statisk metod. Det tar emot ett heltal värde. I huvudmetoden kallas den statiska metoden, och värdet 4 passeras. Svaret från metoden lagras i det rörliga resultatet och trycks slutligen. Här används klassnamnet för att komma åt den statiska metoden. (t ex - Calculate.square (4)). Å andra sidan kan de statiska metoderna inte använda icke-statiska datamedlemmar eller ringa icke-statiska metoder direkt. Att bedöma en icke-statisk variabel med en statisk metod kommer att ge ett kompileringstidsfel.
Final är ett nyckelord för att begränsa användaren. Den kan användas i variabler, metoder och klasser. Ett värde av en slutlig variabel kan inte ändras.
Figur 3: Slutlig variabel
I ovanstående program deklareras den variabla hastighetslimiten som slutlig. Därför kan dess värde inte ändras i drivmetoden. Så det visar ett fel.
Figur 4: Klass A
Figur 5: Klass B
I ovanstående program har klass A en sista metod som kallas display. Klass B sträcker sig A. Så, klass B kan ärva alla variabler och metoder för klass A. Klass B har också metoddisplayen. Eftersom klass A-visningsmetoden är slutgiltig tillåter den inte att åsidosätta den metoden i klass B.
Dessutom kan en slutlig klass inte förlängas enligt följande.
Figur 6: slutklass
Figur 7: Klass B
Eftersom klass A är slutlig, kan den inte förlängas eller ärftas av klass B.
Static är ett nyckelord som anger en medlemsvariabel eller en metod som kan nås utan att det krävs en instans av den klass som den tillhör. Däremot är final ett nyckelord som anger en enhet som endast kan tilldelas en gång. Således förklarar detta den grundläggande skillnaden mellan statisk och slutlig.
Medan statiska variabler kan initieras igen kan slutliga variabler inte initieras igen. Detta är en stor skillnad mellan statisk och slutlig.
Statiska metoder kan kallas av andra statiska metoder och bara få tillgång till klassens statiska medlemmar. Å andra sidan kan slutliga metoder inte överskridas. Detta är en annan viktig skillnad mellan statisk och slutlig.
Ett objekt kan inte skapas från en statisk klass; den består bara av statiska medlemmar. På samma sätt kan slutklasser inte arvas av andra klasser.
Statisk används för att definiera klassmedlemmen som kan användas oberoende av klassens objekt. Slutlig används för att deklarera en konstant variabel eller en metod som inte kan överskridas eller en klass som inte kan ärftas. Detta är den största skillnaden mellan statisk och slutlig.
1. "Statiskt nyckelord i Java - Javatpoint." Www.javatpoint.com, tillgängligt här.
2. "Slutord i Java - Javatpoint." Www.javatpoint.com, Tillgänglig här.