Verschil tussen statisch en definitief in Java

Belangrijkste verschil - statische vs laatste in Java
 

Elke programmeertaal heeft een specifieke syntaxis. De programmeur moet deze syntaxis volgen bij het schrijven van programma's. De trefwoorden van programmeertalen hebben specifieke betekenissen volgens de taken. Ze worden geleverd door de programmeertaal en kunnen niet worden gebruikt voor door de gebruiker gedefinieerde variabelen, methoden, klassen, etc. De statische en laatste zijn twee sleutelwoorden in Java. Dit artikel bespreekt het verschil tussen statisch en definitief in Java. De belangrijk verschil tussen statisch en definitief in Java is dat static wordt gebruikt om het klassenlid te definiëren dat onafhankelijk van een object van de klasse kan worden gebruikt, terwijl 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.

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. Side-by-side vergelijking - 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 te kunnen aanroepen, moet er een object van die specifieke klasse zijn. Wanneer een methode als statisch wordt verklaard, 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 een getalvariabele en een weergavemethode. Beide zijn statische leden. Daarom is het niet nodig om een ​​object te maken om toegang te krijgen tot de nummervariabele en weergavemethode. De programmeur kan direct de klassenaam schrijven om het nummer af te drukken en de methode-display op te roepen. Het is dus niet nodig om een ​​object te instantiëren. Als de nummervariabele en weergavemethode niet-statisch zijn, moet er een object van het type A zijn.

Figuur 02: Gebruik van statische blokkering

Het bovenstaande programma bevat het statische blok en de hoofdmethode. Het statische blok wordt opgeroepen wanneer de klasse is geladen. Daarom wordt de instructie in het statische blok uitgevoerd vóór de instructie in het hoofdblok. Als er veel statische blokken zijn, worden deze achtereenvolgens uitgevoerd.

Wat is definitief in Java?

In het programma kunnen variabelen van verschillende typen voorkomen. Als er een variabele is als int x = 1; later in het programma kan die variabele waarde worden gewijzigd in een andere waarde. Een variabele die is gedeclareerd als definitief en geïnitialiseerd met een waarde 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 Object-oriented programming (OOP). Eén 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 type B maakt en de weergavemethode wordt aangeroepen, wordt "B" als uitvoer afgedrukt. De weergavemethode van klasse A wordt overschreven door de weergavemethode van klasse B.

Als de programmeur wat moet vermijden om een ​​methode te negeren, 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 genegeerd.

Afbeelding 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 uitbreiden van de bestaande klasse en de gegevensleden en methoden van de bestaande klasse gebruiken. Als het verplicht is om te stoppen met het erven van een klasse, kan de programmeur het sleutelwoord 'final' gebruiken. Raadpleeg het onderstaande programma.

Afbeelding 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 static als final zijn trefwoorden in Java.

Wat is het verschil tussen statisch en definitief in Java?

statisch versus definitief in Java

Statisch trefwoord geeft aan dat een lidvariabele of -methode toegankelijk is zonder dat een instantie van de klasse waartoe deze behoort, hoeft te worden geconverteerd. Het laatste sleutelwoord verwijst naar een entiteit 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 definitieve methoden kunnen niet worden overschreven.
Klasse
Het statische klasseobject kan niet worden gemaakt. Het bevat alleen statische leden. De laatste klasse kan niet door andere klassen worden overgenomen.
Blok
Het statische sleutelwoord kan in een blok worden gebruikt. Het laatste sleutelwoord wordt niet gebruikt met een blok.

Samenvatting - statische vs laatste in Java

In dit artikel zijn twee zoekwoorden in Java besproken, zoals statisch en definitief. Het verschil tussen statisch en definitief in Java is dat statisch wordt gebruikt om het klassenlid te definiëren dat onafhankelijk van elk object van de klasse kan worden gebruikt, terwijl finale wordt gebruikt om een ​​constante variabele of een methode aan te geven die niet kan worden opgeheven of een klasse die niet kan geërfd zijn.

Referentie:

1. Wat is Static Keyword in Java | statische methode en statische variabele, Telusko Learnings, 6 maart 2015. Beschikbaar Hier  
2.7.16 Hoe Static Block te gebruiken in Java Tutorial, Telusko Learnings, 30 april 2015. Beschikbaar Hier
3.8.13 Uiteindelijke zoekwoord gebruiken in Java | Methode, klasse en variabele, Telusko Learnings, 26 februari 2015. Beschikbaar Hier