GeeksforGeeks (Nederlands)

In Java programma’s is de main() methode het punt van waaruit het programma zijn uitvoering start, of simpelweg het startpunt van Java programma’s. Het is dus een van de belangrijkste methoden van Java en een goed begrip ervan is erg belangrijk.

De meest voorkomende syntaxis van de main() methode:

classGeeksforGeeks {
publicstaticvoidmain(String args)
{

System.out.println("I am a Geek");

}
}



I am a Geek

Uitleg:
Elk woord in het public static void main statement heeft een betekenis voor de JVM.

  1. Public: Het is een Access modifier, die specificeert van waar en wie de methode kan benaderen. Door de methode main() public te maken, wordt deze wereldwijd beschikbaar. Hij wordt openbaar gemaakt, zodat de JVM hem van buiten de klasse kan aanroepen, omdat hij niet in de huidige klasse aanwezig is.

    classGeeksforGeeks {
    privatestaticvoidmain(String args)
    {

    System.out.println("I am a Geek");

    }

    }

    
    

    
    

    Error: Main method not found in class, please define the main method as:public static void main(String args)or a JavaFX application class must extend javafx.application.Application
  2. Statisch: Het is een sleutelwoord dat, wanneer geassocieerd met een methode, het een klasse gerelateerde methode maakt. De methode main() is statisch, zodat de JVM deze kan aanroepen zonder de klasse te instantiëren. Dit bespaart ook onnodige verspilling van geheugen die zou zijn gebruikt door het object dat alleen is gedeclareerd voor het aanroepen van de main() methode door de JVM.

    classGeeksforGeeks {

    publicvoidmain(String args)

    {

    System.out.println("I am a Geek");

    }
    }

    
    
    
    
    Error: Main method is not static in class test, please define the main method as:public static void main(String args)
  3. Void: Het is een sleutelwoord en wordt gebruikt om aan te geven dat een methode niets teruggeeft. Aangezien de methode main() niets teruggeeft, is het terugkeertype void. Zodra de main() methode eindigt, eindigt het java programma ook. Daarom heeft het geen zin om terug te keren van de main() methode, aangezien JVM niets kan doen met de return waarde van deze methode.

    classGeeksforGeeks {
    publicstaticintmain(String args)
    {
    System.out.println("I am a Geek");
    return1;
    }
    }

    
    

    
    

    Error: Main method not found in class, please define the main method as:public static void main(String args)or a JavaFX application class must extend javafx.application.Application
  4. main: Dit is de naam van de hoofdmethode van Java. Het is de identifier waar de JVM naar zoekt als startpunt van het java programma. Het is geen sleutelwoord.

    classGeeksforGeeks {
    publicstaticvoidmyMain(String args)
    {

    System.out.println("I am a Geek");

    }
    }



Error: Main method not found in class, please define the main method as:public static void main(String args)or a JavaFX application class must extend javafx.application.Application
  • String args: Deze slaat Java commandoregel argumenten op en is een array van het type java.lang.String klasse. Hier is de naam van de String array args, maar deze staat niet vast en de gebruiker kan er elke naam voor in de plaats gebruiken.

    classGeeksforGeeks {

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

  • 
    

    
    
    123

    Afgezien van de hierboven genoemde signatuur van main, zou je public static void main(String args) of public static void main(String… args) kunnen gebruiken om de main functie in java op te roepen. De main methode wordt aangeroepen als zijn formele parameter overeenkomt met die van een array van Strings.

    Kan de main methode int zijn? Zo nee, waarom niet?

    classGeeksforGeeks {
    publicstaticintmain(String args) {
    System.out.println("GeeksforGeeks");
    }
    }

    
    

    
    

    Java retourneert niet impliciet int, zelfs als we het return type van main declareren als int.
    We krijgen dan een compileertijdfout

    prg1.java:6: fout: missing return statement
    }
    ^
    1 error

    classGeeksforGeeks {
    publicstaticintmain(String args) {
    System.out.println("GeeksforGeeks");
    return0;
    }
    }

    
    

    
    

    Nu, zelfs als we zelf expliciet 0 of integer teruggeven, van int main.
    We krijgen een runtime error.

    Error: De hoofdmethode moet een waarde van het type void teruggeven in de klasse GeeksforGeeks, definieer
    de hoofdmethode als:
    public static void main(String args)

    Uitleg –
    De C en C++ programma’s die int teruggeven van main zijn processen van het Besturingssysteem. De int waarde die wordt teruggegeven van main in C en C++ is exit code of exit status. De exit code van C of C++ programma’s illustreert, waarom het programma is beëindigd. Exit code 0 betekent succesvolle beëindiging. Echter, een niet nul exit status geeft een fout aan. Bijvoorbeeld, exit code 1 geeft diverse fouten aan, zoals “delen door nul”

    Parent proces van elk kind proces blijft wachten op de exit status van het kind. En na ontvangst van de exit-status van het kind, ruimt het het kind-proces op uit de procestabel en maakt de middelen vrij die aan het zijn toegewezen. Daarom is het voor C en C++ programma’s (die prcoesses van OS zijn) verplicht om de exit status van main expliciet of impliciet door te geven.

    Hoewel, het Java programma draait als ‘main thread’ in JVM. Het Java-programma is niet eens direct een proces van het besturingssysteem. Er is geen directe interactie tussen het Java programma en het Operating System. Er is geen directe toewijzing van middelen aan het Java programma, of het Java programma bezet geen plaats in de procestabel. Aan wie moet het dan de exit status teruggeven. Daarom is de main methode van Java ontworpen om geen int of exit status terug te geven.

    Maar JVM is een proces van een besturingssysteem, en JVM kan worden beeindigd met een bepaalde exit status. Met behulp van java.lang.Runtime.exit(int status) of System.exit(int status)

    Artikel tags :

    Java

    Praktijk Tags :

    Geef een reactie

    Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *