Het belangrijkste verschil tussen statisch en definitief is dat het static wordt gebruikt om het klassenlid te definiëren dat onafhankelijk van elk object van de klasse kan worden gebruikt. In tegenstelling tot, final wordt gebruikt om een constante variabele aan te geven of een methode die niet kan worden opgeheven of een klasse die niet kan worden overgenomen.
Statisch en definitief zijn twee sleutelwoorden die in veel objectoriëntatie worden gebruikt voor ondersteuning van programmeertalen zoals Java. Statisch wordt gebruikt met variabelen en methoden om te definiëren dat het bij de klasse hoort, niet bij het object. Aan de andere kant wordt final gebruikt om de gebruiker te beperken tot toegang tot een variabele, methode of een klasse.
1. Wat is statisch
- Definitie, functionaliteit
2. Wat is definitief
- Definitie, functionaliteit
3. Wat is het verschil tussen statisch en definitief
- Vergelijking van belangrijke verschillen
Klasse, eindvariabele, statische variabele
Een klasse bestaat uit variabelen en methoden. Een object is gemaakt op basis van een klasse; dit object kan worden gebruikt voor het aanroepen van variabelen en methoden. Wanneer een klaslid statisch wordt verklaard, is het niet verplicht om een object te maken om methoden en variabelen te bellen. In plaats daarvan kan de klassenaam worden gebruikt om het te bellen. Met andere woorden, statisch is een sleutelwoord dat bij de klasse hoort in plaats van bij het object.
Een variabele met het statische zoekwoord wordt een statische variabele genoemd. Ze worden gebruikt om een gemeenschappelijke eigenschap van een verzameling objecten te verwijzen. Deze variabelen krijgen geheugen op het moment dat de klasse wordt geladen. Het grote voordeel van een statische variabele is dat het geheugen helpt besparen.
Figuur 1: Statische variabele
In het bovenstaande programma is er een statische variabele genaamd telling. In de constructor wordt de telling met 1 opgehoogd. In het hoofdprogramma worden drie studentobjecten gemaakt. Als u de telling afdrukt, krijgt u resultaat 3 omdat er drie objecten zijn. De telvariabele wordt gedeeld door alle objecten. Telkens wanneer een object wordt gemaakt, wordt de telling met één opgehoogd. Bij het weergeven van de telling moet dit worden geschreven met de klassenaam (bijvoorbeeld - Student.count).
Een methode met het statische zoekwoord staat bekend als een statische methode. Een voorbeeld is als volgt.
Figuur 2: Statische methode
In het bovenstaande programma is vierkant een statische methode. Het ontvangt een geheel getal. In de hoofdmethode wordt de statische methode aangeroepen en wordt de waarde 4 doorgegeven. Het antwoord van de methode wordt opgeslagen in het variabele resultaat en wordt uiteindelijk afgedrukt. Hier wordt de klassenaam gebruikt om toegang te krijgen tot de statische methode. (bijvoorbeeld - Calculate.square (4)). Aan de andere kant kunnen de statische methoden geen niet-statische gegevensleden gebruiken of niet-statische methoden rechtstreeks aanroepen. Het beoordelen van een niet-statische variabele door een statische methode geeft een fout in de compileertijd.
Laatste is een sleutelwoord om de gebruiker te beperken. Het kan worden gebruikt in variabelen, methoden en klassen. Een waarde van een laatste variabele kan niet worden gewijzigd.
Figuur 3: Laatste variabele
In het bovenstaande programma wordt de variabele speedLimit als definitief verklaard. Daarom kan de waarde ervan niet worden gewijzigd in de aandrijfmethode. Er wordt dus een fout weergegeven.
Figuur 4: Klasse A
Figuur 5: Klasse B
In het bovenstaande programma heeft klasse A een laatste methode genaamd display. Klasse B verlengt A. Dus klasse B kan alle variabelen en methoden van klasse A erven. Klasse B heeft ook de methode-weergave. Aangezien de weergavenmethode van klasse A definitief is, is het niet toegestaan om die methode in klasse B te overschrijven.
Bovendien kan een laatste klasse niet als volgt worden verlengd.
Figuur 6: laatste klas
Figuur 7: Klasse B
Aangezien klasse A definitief is, kan deze niet worden verlengd of overgenomen door klasse B.
Statisch is een sleutelwoord dat verwijst naar een ledvariabele of een methode waartoe toegang kan worden verkregen zonder dat een instantie van de klasse waartoe deze behoort, hoeft te worden geconverteerd. Definitief daarentegen is een sleutelwoord dat een entiteit aanduidt die maar één keer kan worden toegewezen. Dit verklaart dus het fundamentele verschil tussen statisch en definitief.
Terwijl statische variabelen opnieuw kunnen worden geïnitialiseerd, kunnen eindvariabelen niet opnieuw worden geïnitialiseerd. Dit is een groot verschil tussen statisch en definitief.
Statische methoden kunnen worden aangeroepen door andere statische methoden en hebben alleen toegang tot de statische leden van de klasse. Aan de andere kant kunnen definitieve methoden niet worden opgeheven. Dit is een ander belangrijk verschil tussen statisch en definitief.
Een object kan niet worden gemaakt vanuit een statische klasse; het bestaat alleen uit statische leden. Evenzo kunnen eindklassen niet door andere klassen worden overgenomen.
Statisch wordt gebruikt om het klassenlid te definiëren dat onafhankelijk van elk object van de klasse kan worden gebruikt. Laatste wordt gebruikt om een constante variabele aan te geven of een methode die niet kan worden genegeerd of een klasse die niet kan worden overgenomen. Dit is het belangrijkste verschil tussen statisch en definitief.
1. "Statisch trefwoord in Java - Javatpoint." Www.javatpoint.com, hier beschikbaar.
2. "Laatste sleutelwoord in Java - Javatpoint." Www.javatpoint.com, hier beschikbaar.