Il n' y a pas de classe principale, il peut y avoir une classe (ou plusieurs) contenant la méthode main qui est le point d'entrée de l'application.
Tu peux tout mettre dans la méthode main, rien ne t'en empêche, mais ton application sera difficile à tester, moins maintenable, moins réutilisable, moins lisible et tu seras maudit sur 7 générations par les membres du Saint OO.
C'est une façon de faire qu'on retrouve dans les petits exemples, et qui n'a rien d'obligatoire. Il y a plusieurs raisons à cette pratique (douteuse, en fait).
Historique : on la retrouve dans les premiers bouquins faits par Sun pour évangéliser. Ca dérive d'exemples ou on fait des trucs lançables comme applets (sous contrôle d'un navigateur) et en standalone. Vous savez ce que c'est, quand on produit un cours, on repompe bêtement sans se demander pourquoi on faisait comme ça.
Pedagogique : si vous enseignez java comme premier langage, et que vous avez l'intention d'orienter sur les objets, il y a une difficulté, la methode main est statique. Et vous etes confronté à public static void, qui font beaucoup de choses a raconter a des gens qui n'y connaissent rien, et ne savent même pas ce qu'est une variable.
La solution crado, c'est ce new qui crée une instance, et hop, le code de l'exercice dans le constructeur.
C'est ça ou (je prefere) utiliser des méthodes statiques. Ce qui est pertinent pour des exercices genre afficher la table de multiplication.
Bref dans les deux cas, on en est à "Faut écrire ça, on vous expliquera quand vous serez grand". Sauf que le truc de créer une instance est pourri (techniquement c'est un singleton, parce qu'on n'a qu'un System.out....)
- Edité par michelbillaud 11 février 2021 à 8:14:36
Pourquoi instancier la classe principale ?
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
PXL Le retro gaming facile Thread sur le forum: https://openclassrooms.com/forum/sujet/retro-pxl
par convention et pour donner moins d'importance à la fonction public static void main (String[] args) par ce que c'est pas très Orienté objet sinon.