public static void main(String[] args) – Java hoofdmethode

Introductie

De Java main-methode is meestal de eerste methode die je leert wanneer je begint met programmeren in Java omdat het het startpunt is voor het uitvoeren van een Java-programma. De main-methode kan code bevatten om uit te voeren of om andere methoden aan te roepen, en deze kan worden geplaatst in elke klasse die deel uitmaakt van een programma. Meer complexe programma’s hebben meestal een klasse die alleen de main-methode bevat. De klasse die de main-methode bevat, kan elke naam hebben, hoewel je de klasse meestal gewoon Main kunt noemen.

In de voorbeelden die volgen, wordt de klasse die de main-methode bevat, Test genoemd:

Test.java
public class Test {

	public static void main(String[] args){

		System.out.println("Hello, World!");
	
	}
}

In dit artikel leer je wat elk onderdeel van de main-methode betekent.

Syntaxis van de Java Main Methode

De syntaxis van de main-methode is altijd:

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

Je kunt alleen de naam van de String-array argument wijzigen. Bijvoorbeeld, je kunt args wijzigen naar myStringArgs. Het String-array argument kan worden geschreven als String... args of String args[].

public

Het toegangsmodifier van de main-methode moet public zijn, zodat de JRE toegang heeft tot en deze methode kan uitvoeren. Als een methode niet openbaar is, is de toegang beperkt. In het volgende voorbeeldcode ontbreekt het public-toegangsmodifier voor de main-methode:

Test.java
public class Test {

	static void main(String[] args){

		System.out.println("Hello, World!");
	
	}
}

Als je het programma compileert en uitvoert, treedt de volgende fout op omdat de main-methode niet openbaar is en de JRE deze niet kan vinden:

  1. javac Test.java
  2. java Test
Output
Error: Main method not found in class Test, please define the `main` method as: public static void main(String[] args) or a JavaFX application class must extend javafx.application.Application

static

Wanneer het Java-programma start, is er geen object van de klasse aanwezig. De main-methode moet static zijn, zodat de JVM de klasse in het geheugen kan laden en de main-methode kan aanroepen zonder eerst een instantie van de klasse te maken. In het volgende voorbeeldcode ontbreekt de static-modifier voor de main-methode:

Test.java
public class Test {

	public void main(String[] args){

		System.out.println("Hello, World!");
	
	}
}

Als je het programma compileert en uitvoert, treedt de volgende fout op omdat de main-methode niet static is:

  1. javac Test.java
  2. java Test
Output
Error: Main method is not static in class Test, please define the `main` method as: public static void main(String[] args)

void

Elke Java-methode moet het retourtype specificeren. Het retourtype van de Java main-methode is void, omdat deze niets retourneert. Wanneer de main-methode is voltooid, wordt het Java-programma afgesloten, dus er is geen noodzaak voor een geretourneerd object. In het volgende voorbeeld probeert de main-methode iets terug te geven terwijl het retourtype void is:

Test.java
public class Test {

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

Als je het programma compileert, treedt de volgende fout op omdat Java geen retourwaarde verwacht wanneer het retourtype void is:

  1. javac Test.java
Output
Test.java:5: error: incompatible types: unexpected return value return 0; ^ 1 error

main

De Java main-methode heeft altijd de naam main. Wanneer een Java-programma start, zoekt het altijd naar de main-methode. In het volgende voorbeeldcode wordt een main-methode hernoemd naar myMain:

Test.java
public class Test {

	public static void myMain(String[] args){

		System.out.println("Hello, World!");
	}
}

Als je het programma compileert en uitvoert, treedt de volgende fout op omdat de JRE de main-methode niet kan vinden in de klasse:

  1. javac Test.java
  2. java Test
Output
Error: Main method not found in class Test, please define the `main` method as: public static void main(String[] args) or a JavaFX application class must extend javafx.application.Application

String[] args

Java main-methode accepteert een enkel argument van het type String-array. Elk stringelement in de array is een commandoregelargument. Je kunt commandoregelargumenten gebruiken om de werking van het programma te beïnvloeden of informatie door te geven aan het programma tijdens runtime. Het volgende voorbeeld laat zien hoe je de commandoregelargumenten afdrukt die je invoert bij het uitvoeren van het programma:

Test.java
public class Test {

	public static void main(String[] args){

    	for(String s : args){
		System.out.println(s);
    	}
	
    }
}

Wanneer je het programma compileert en vervolgens uitvoert met enkele commandoregelargumenten gescheiden door spaties, worden de argumenten afgedrukt in het terminalvenster:

  1. javac Test.java
  2. java Test 1 2 3 "Testing the main method"
Output
1 2 3 Testing the main method

Conclusie

In dit artikel heb je kennisgemaakt met elk onderdeel van de Java main-methode. Ga verder met leren aan de hand van meer Java tutorials.

Source:
https://www.digitalocean.com/community/tutorials/public-static-void-main-string-args-java-main-method