Programmeren in Java/Static: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
DimiC88 (overleg | bijdragen)
Label: bewerking met nieuwe wikitekstmodus
DimiC88 (overleg | bijdragen)
kGeen bewerkingssamenvatting
Label: bewerking met nieuwe wikitekstmodus
Regel 187:
 
==Statische klassen==
Er zijn ook zogenaamde statische klassen, deze bevatten enkel statische methodes en statische velden. Deze worden vaak ''utility classes'' of ''hulpklassen'' genoemd. Deze hulpkassen worden gebruikt om velden en methoden te bundelen die logisch gezien bij elkaar horen. Je zou bijvoorbeeld een hulpklasse kunnen maken om allerlei wiskundige bewerkingen in verband met cirkels kunnen bundelen in een zo'n hulpklasse.
 
Java bevat verscheidene van die ingebouwde hulpklassen en zijn terug te vinden in de package ''java.util''. Waaronder de ''Arrays'' klasse, deze bevat allerlei methodes om bewerkingen uit te voeren op arrays. Deze kunnen ontwikkelaars gebruiken en moeten ze daardoor niet zelf deze functionaliteiten in hun code schrijven.
 
==Statische initialisatie blokken==
Als laatste zijn er ook nog wat ze statische initialisatie blokken noemen. Dit zijn statische blokken die één keer worden uitgevoerd wanneer de statische klasse voor de eerste keer wordt gebruikt. Ze worden gebruikt om de klasse waar ze in staan te initialiseren of klaar te maken voor gebruik.
 
<syntaxhighlight lang="Java" highlight="10">
class myClass {
static int counter;
static {
System.out.println("Initialisatie van de teller.");
counter = 0;
}
 
// Mogelijke methodes.
}
 
public class Main {
 
public static void main(String[] args) {
System.out.println("Regel voor de initialisatie.");
myClass.counter++;
System.out.println("Regel na de initialisatie.");
System.out.println("Waarde van de teller: " + myClass.counter);
}
}
</syntaxhighlight>
Met als resultaat:
<pre>
Regel voor de initialisatie.
Initialisatie van de teller.
Regel na de initialisatie.
Waarde van de teller: 1
</pre>
In dit voorbeeld wordt het statisch veld ''counter'' geïnitialiseerd en krijgt het de waarde nul. Dit gebeurt echter pas wanneer de klasse voor de eerste keer wordt gebruikt. Je ziet dat de eerste ''println'' van de ''main'' als eerste wordt uitgevoerd. Dit is een simpel voorbeeld en er is hier geen duidelijk voordeel met het gebruik van een statische initialisatie blokken. Het is echter handig voor wanneer je veel complexere gegevens moet initialiseren, bijvoorbeeld een array of collectie van objecten die je moet aanmaken.
 
{{sub}}
Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.