Est la Principale méthode doit nécessaires dans un programme Java?
Est la principale méthode nécessaire d'écrire un programme java?
C'est mon code:
package example;
public class HelloWorld {
public HelloWorld() {
}
public String getHelloWorld() {
return "Hello From Java!";
}
}
Il affiche une erreur à la compilation:
java.lang.NoSuchMethodError: main
Exception in thread "main"
Cela ressemble à une erreur d'exécution, pas d'erreur de compilation.
Ce Wiki de la Communauté question répertorie les causes possibles de ce problème commun: stackoverflow.com/questions/5407250/...
Ce Wiki de la Communauté question répertorie les causes possibles de ce problème commun: stackoverflow.com/questions/5407250/...
OriginalL'auteur Praveen | 2010-05-24
Vous devez vous connecter pour publier un commentaire.
La principale méthode n'est pas nécessaire dans les programmes java. Comme d'autres l'ont souligné, les applications web ne pas utiliser la méthode main.
Il n'est même pas nécessaire dans des applications autonomes. Envisager
J'ai compilé et exécuté et a obtenu le résultat suivant:
Pour les applications autonomes, vous devez soit avoir
Principal est préféré.
Ce que je comprends moderne, java ne permet plus de cet abus de l'initialiseur statique.
pourquoi est la principale méthode préférée? Parce que les initialiseurs statiques ne sont pas faits pour ce genre de trucs?
Je soupçonne que oui.
OriginalL'auteur emory
La
main
méthode par défaut est le point d'entrée du programme. Si vous ne définissez pas une, et puis essayez d'exécuter le pot produit, c'est ce que vous allez voir. Si vous n'êtes pas en essayant de produire un programme qui a besoin de se lancer en indépendant, vous n'en aurez pas besoin - par exemple, un pot référencé par d'autres programmes, ou un site web.OriginalL'auteur David M
Sans
principal
de la méthode d'application aura pas de point d'entrée. Oui, il est nécessaire pour tout programme exécutable.OriginalL'auteur Andrew Hare
Si vous essayez d'exécuter une classe Java, la JVM va chercher un
main
méthode à appeler. À partir de la CHAPITRE 12 de l'Exécution de la Java Language Specification:Pas toutes les classes ont besoin d'un
main
, seul celui qui servent de "point d'entrée" pour l'exécution.OriginalL'auteur Pascal Thivent
La raison pourquoi vous obtenez ce message d'erreur est parce que vous tentez d'exécuter une classe à l'aide de java (java.exe sur Windows) et c'est en attendant de trouver une méthode main ().
Cette méthode n'est pas obligatoire en tant que tel mais il peut se former un point d'entrée où une application est lancée. Vous pouvez réécrire votre classe comme suit pour atteindre le résultat que vous recherchez:
OriginalL'auteur James P.
Autonome des applications nécessitent une main, parce que c'est le point d'entrée. Comment la JVM de savoir par où commencer?
OriginalL'auteur Andrey
Non, il n'est pas nécessaire pour, par exemple, les applications web. Ils n'utilisent pas un
main()
méthode, mais si vous testez ou l'exécution d'une application autonome, de savoir quelle sortie vous attendent, vous pouvez exiger qu'unmain()
méthode.OriginalL'auteur GustyWind
Votre application java ou programme (et non à chaque classe unique) a besoin d'au moins une méthode principale pour l'exécuter. Et celui que vous avez n'est pas une erreur de compilation, mais une erreur d'exécution.
OriginalL'auteur user377488
"Lorsque vous enregistrez le programme avec le même nom que le nom de la classe qui contiennent de la méthode main (), puis au moment de l'exécution de la JVM va créer un objet de cette classe et avec l'objet de la JVM va appeler le main() metod comme objet.main().
Donc si la méthode main() est absent( initialiseur statique est également absent ) alors il va lever une exception."
De l'application web, même explication que ci-dessus.
ref: Java Compréhension Java méthode main sur la logique
OriginalL'auteur shubham mishra