Belangrijkste verschil - statisch versus definitief in Java
Elke programmeertaal heeft een specifieke syntaxis. De programmeur moet deze syntaxis volgen bij het schrijven van programma's. De sleutelwoorden van programmeertalen hebben een specifieke betekenis volgens de taken. Ze worden geleverd door de programmeertaal en kunnen niet worden gebruikt voor door de gebruiker gedefinieerde variabelen, methoden, klassen, enz. De statische en laatste zijn twee sleutelwoorden in Java. Dit artikel bespreekt het verschil tussen statisch en definitief in Java. Het belangrijkste verschil tussen static en final in Java is dat static wordt gebruikt om het klassenlid te definiëren dat onafhankelijk van elk object van de klasse kan worden gebruikt, terwijl final wordt gebruikt om een constante variabele of een methode te declareren die niet kan worden overschreven of een klasse die niet kan worden overschreven kan niet worden geërfd.
INHOUD
1. Overzicht en belangrijkste verschil
2. Wat is statisch in Java
3. Wat is definitief in Java
4. Overeenkomsten tussen statisch en definitief in Java
5. Vergelijking zij aan zij - statisch versus definitief in Java in tabelvorm
6. Samenvatting
Wat is statisch in Java?
Een klasse bestaat uit gegevensleden (attributen) en methoden. Om de methoden aan te roepen, moet er een object van die specifieke klasse zijn. Wanneer een methode als statisch wordt gedeclareerd, is het niet nodig om een object te maken om die methode aan te roepen. De methode kan worden aangeroepen met behulp van de klassenaam. Raadpleeg het onderstaande programma.
Figuur 01: Java-programma met statische variabelen en statische methode
Volgens het bovenstaande programma bevat klasse A de numerieke variabelen en de weergavemethode. Beide zijn statische leden. Daarom is het niet nodig om een object te maken om toegang te krijgen tot de numerieke variabele en weergavemethode. De programmeur kan direct de klassenaam schrijven om het nummer af te drukken en de methodeweergave op te roepen. Het is dus niet nodig om een object te instantiëren. Als de numerieke variabele en de weergavemethode niet-statisch zijn, moet er een object van het type A zijn.
Figuur 02: Gebruik van statisch blok
Het bovenstaande programma bevat het statische blok en de hoofdmethode. Het statische blok wordt aangeroepen wanneer de klasse wordt geladen. Daarom wordt de instructie in het statische blok uitgevoerd vóór de instructie in het hoofdblok. Als er veel statische blokken zijn, worden ze op volgorde uitgevoerd.
Wat is definitief in Java?
In het programma kunnen er variabelen van verschillende typen zijn. Als er een variabele is als int x = 1; later in het programma kan die variabele waarde worden veranderd in een andere waarde. Een variabele die als definitief is gedeclareerd en met een waarde is geïnitialiseerd, kan later in het programma niet worden gewijzigd.
Figuur 03: programma met definitieve variabele en overerving
Volgens het bovenstaande programma is x een laatste variabele. Het krijgt een waarde 5. Het kan niet een andere waarde worden gewijzigd omdat het als definitief wordt verklaard. Java ondersteunt objectgeoriënteerd programmeren (OOP). Een pijler van OOP is een polymorfisme. Eén type polymorfisme is doorslaggevend. Klasse A heeft de weergavemethode. De klasse B breidt klasse A uit en heeft zijn eigen weergavemethode. Wanneer u een object van het type B maakt en de weergavemethode aanroept, wordt "B" als uitvoer afgedrukt. De weergavemethode van klasse A wordt overschreven door de weergavemethode van klasse B.
Als de programmeur een methode wil vermijden, kan hij het laatste sleutelwoord voor die methode gebruiken. Als de weergavemethode in klasse A definitief is, geeft de weergavemethode in B een foutmelding omdat die methode niet kan worden overschreven.
Figuur 04: laatste trefwoord in de methode
Een andere pijler van OOP is overerving. Het helpt om de reeds bestaande code opnieuw te gebruiken. De nieuwe klasse kan een uitbreiding zijn van de bestaande klasse en de gegevensleden en methoden van de bestaande klasse gebruiken. Als het nodig is om te stoppen met het erven van een klasse, kan de programmeur het trefwoord 'final' gebruiken. Raadpleeg het onderstaande programma.
Figuur 05: laatste trefwoord in de klas
Volgens het bovenstaande programma wordt klasse A als definitief verklaard. Wanneer klasse B A uitbreidt, geeft het een fout omdat klasse A als definitief wordt verklaard. Het kan niet worden overgenomen door andere klassen.
Wat is de overeenkomst tussen statisch en definitief in Java?
Zowel statisch als definitief zijn sleutelwoorden in Java
Wat is het verschil tussen statisch en definitief in Java?
Diff Artikel Midden voor Tafel
statisch versus definitief in Java |
|
Statisch sleutelwoord geeft aan dat een lidvariabele, of methode, toegankelijk is zonder dat de klasse waartoe deze behoort, hoeft te worden geïnstantieerd. | Het laatste sleutelwoord geeft een entiteit aan die maar één keer kan worden toegewezen. |
Variabelen | |
De statische variabelen kunnen opnieuw worden geïnitialiseerd. | De laatste variabelen kunnen niet opnieuw worden geïnitialiseerd. |
Methoden | |
Kan worden aangeroepen door andere statische methoden en heeft alleen toegang tot de statische leden van de klasse. | De laatste methoden kunnen niet worden overschreven. |
Klasse | |
Het statische klasseobject kan niet worden gemaakt. Het bevat alleen statische leden. | De laatste klasse kan niet worden overgenomen door andere klassen. |
Blok | |
Het statische trefwoord kan in een blok worden gebruikt. | Het laatste trefwoord wordt niet gebruikt met een blok. |
Samenvatting - statisch versus definitief in Java
In dit artikel zijn twee sleutelwoorden in Java besproken, zoals statisch en definitief. Het verschil tussen static en final in Java is dat static wordt gebruikt om het klassenlid te definiëren dat onafhankelijk van elk object van de klasse kan worden gebruikt, terwijl final wordt gebruikt om een constante variabele of een methode te declareren die niet kan worden overschreven of een klasse die dat niet kan worden geërfd.