Java main () Method Explained

1. Overzicht

Elk programma heeft een plek nodig om met de uitvoering te beginnen; over Java-programma's gesproken, dat is de hoofd methode. We zijn zo gewend om de hoofd methode tijdens onze codesessies, dat we niet eens op de details ervan letten. In dit korte artikel analyseren we deze methode en laten we enkele andere manieren zien waarop u deze kunt schrijven.

2. Gemeenschappelijke handtekening

De meest voorkomende sjabloon voor de belangrijkste methode is:
public static void main (String [] args) {}

Dat is de manier waarop we het hebben geleerd, zo vult de IDE de code automatisch voor ons aan. Maar dat is niet de enige vorm die deze methode kan aannemen, er zijn enkele geldige varianten die we kunnen gebruiken en niet elke ontwikkelaar besteedt hier aandacht aan.

Voordat we ingaan op die methodehandtekeningen, bekijken we eerst de betekenis van elk trefwoord van de algemene handtekening:

  • openbaar - toegangsmodificator, wat wereldwijde zichtbaarheid betekent
  • statisch - de methode is rechtstreeks vanuit de klas toegankelijk, we hoeven geen object te instantiëren om een ‚Äč‚Äčreferentie te hebben en het te gebruiken
  • leegte - betekent dat deze methode geen waarde retourneert
  • hoofd - de naam van de methode, dat is de ID waarnaar JVM zoekt bij het uitvoeren van een Java-programma

Wat betreft de args parameter, vertegenwoordigt het de waarden die door de methode zijn ontvangen. Dit is hoe we argumenten doorgeven aan het programma wanneer we het voor het eerst starten.

De parameter args is een reeks van Draads. In het volgende voorbeeld:

java CommonMainMethodSignature foo bar

we voeren een Java-programma uit met de naam CommonMainMethodSignature en het doorgeven van 2 argumenten: foo en bar. Die waarden zijn toegankelijk binnen het hoofd methode als args [0] (met foo als waarde) en args [1] (met bar als waarde).

In het volgende voorbeeld controleren we args om te beslissen of test- of productieparameters moeten worden geladen:

public static void main (String [] args) {if (args.length> 0) {if (args [0] .equals ("test")) {// load test parameters} else if (args [0] .equals ("productie")) {// laad productieparameters}}}

Het is altijd goed om te onthouden dat IDE's ook argumenten aan het programma kunnen doorgeven.

3. Verschillende manieren om een hoofd() Methode

Laten we eens kijken naar enkele verschillende manieren om het hoofd methode. Hoewel ze niet erg vaak voorkomen, zijn het geldige handtekeningen.

Merk op dat geen van deze specifiek is voor het hoofd -methode, kunnen ze met elke Java-methode worden gebruikt, maar ze zijn ook een geldig onderdeel van de hoofd methode.

De vierkante haken kunnen dichtbij worden geplaatst Draad, zoals in de algemene sjabloon, of in de buurt van args aan elke kant:

public static void main (String [] args) {} 
public static void main (String args []) {}

Argumenten kunnen worden weergegeven als varargs:

public static void main (String ... args) {}

We kunnen zelfs toevoegen strictfp voor de hoofd() methode, die wordt gebruikt voor compatibiliteit tussen processors bij het werken met drijvende-kommawaarden:

openbare strictfp statische leegte hoofd (String [] args) {}

gesynchroniseerd en laatste zijn ook geldige trefwoorden voor de hoofd methode, maar ze hebben hier geen effect.

Aan de andere kant, laatste kan op worden aangebracht args om te voorkomen dat de array wordt gewijzigd:

public static void main (final String [] args) {}

Om deze voorbeelden te beëindigen, kunnen we ook de hoofd methode met alle bovenstaande sleutelwoorden (die u natuurlijk waarschijnlijk nooit zult gebruiken in een praktische toepassing):

laatste statische gesynchroniseerde strictfp void main (final String [] args) {}

4. Meer dan één hebben hoofd() Methoden

We kunnen ook definiëren meerdere hoofd methode binnen onze applicatie.

Sommige mensen gebruiken het zelfs als een primitieve testtechniek om individuele klassen te valideren (hoewel testraamwerken zoals JUnit zijn veel meer aangegeven voor deze activiteit).

Om te specificeren welke hoofd methode die de JVM moet uitvoeren als het toegangspunt van onze applicatie, gebruiken we de MANIFEST.MF het dossier. Binnen het manifest kunnen we de hoofdklasse aangeven:

Hoofdklasse: mypackage.ClassWithMainMethod

Dit wordt meestal gebruikt bij het maken van een uitvoerbaar bestand .pot het dossier. We geven aan welke klasse de hoofd methode om de uitvoering te starten, via het manifestbestand op META-INF / MANIFEST.MF (gecodeerd in UTF-8).

5. Conclusie

Deze tutorial beschrijft de details van de hoofd methode en enkele andere vormen die het kan aannemen, zelfs degene die niet erg gebruikelijk zijn bij de meeste ontwikkelaars.

Houd er rekening mee dat, hoewel alle voorbeelden die we hebben getoond geldig zijn in termen van syntaxis, dienen ze alleen het educatieve doel en meestal houden we vast aan de gebruikelijke handtekening om ons werk te doen.