Junior
Wat betekent het sleutelwoord 'final' in de programmeertaal Java?
sobes.tech AI
Antwoord van AI
Het sleutelwoord final in Java wordt gebruikt om aan te geven dat een variabele, methode of klasse niet kan worden gewijzigd.
-
finalvariabele:- Aan een variabele die als
finalis gedeclareerd, kan slechts één keer een waarde worden toegekend. Na toewijzing kan deze niet worden gewijzigd. - Voor primitieve datatypes is de waarde van een
finalvariabele een constante. - Voor referentietypen betekent
finaldat de verwijzing naar het object niet kan worden gewijzigd, maar de toestand van het object (zijn velden) kan worden gewijzigd (tenzij de velden zelf ookfinalzijn).
final int MAX_VALUE = 100; // finale primitieve variabele final List<String> names = new ArrayList<>(); // finale referentievariabele names.add("Alice"); // OK // names = new ArrayList<>(); // Compileerfout - referentie kan niet opnieuw worden toegewezen - Aan een variabele die als
-
finalmethode:- Een methode gedeclareerd als
finalkan niet worden overschreven in subklassen. - Dit wordt gebruikt om ongewenste gedragswijzigingen in de erfhiërarchie te voorkomen.
class Parent { final void display() { System.out.println("Dit is een finale methode."); } } class Child extends Parent { // @Override void display() { } // Compileerfout - final methode kan niet worden overschreven } - Een methode gedeclareerd als
-
finalklasse:- Een klasse gedeclareerd als
finalkan geen subklassen hebben (kan niet worden uitgebreid). - Dit wordt gebruikt om de onveranderlijkheid van de klasse te garanderen en het uitbreiden van functionaliteit te voorkomen.
final class ImmutableClass { private final int value; public ImmutableClass(int value) { this.value = value; } public int getValue() { return value; } } // class TryingToExtend extends ImmutableClass { } // Compileerfout - kan niet erven van een finale klasse - Een klasse gedeclareerd als