IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

1° Méthode main dans une classe - 2° utilisation de classes existantes


Sujet :

avec Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 108
    Points : 52
    Points
    52
    Par défaut 1° Méthode main dans une classe - 2° utilisation de classes existantes
    Bonjour,

    Je suis en apprentissage de Java et j'aurais 2 questions

    1- Jusqu'à présent je construisais des classes avec le...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public static void main (String [] args)
    ... mais je vois qu'il n'est pas obligatoire de le mettre dans toutes les classes.
    Je voudrais avoir bien compris. Est-ce une faute de le mettre dans toute classe? Est ce qu'on peut supposer qu'on peut l'enlever s'il est vide? Vaut-il mieux considérer, que dans un système avec plusieurs classes, il vaut mieux ne le mettre que dans la classe qu'on démarre, pas dans celles qui dépendent de la classe qui s'exécute?
    J'aimerais bien comprendre


    2- Dans C# comme dans Java, plutôt que de réinventer la roue, on peut utiliser des classes d'autres développeurs... Ces classes sont-elles à télécharger (où, sur quel site), ou peut-on les inclure via Eclipse?

    Merci! Je dois rattraper mes retards, le temps passe trop vite et j'ai peur d'être dépassé

    Olivier

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut
    Citation Envoyé par ZoliveR Voir le message
    1- Jusqu'à présent je construisais des classes avec le...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public static void main (String [] args)
    ... mais je vois qu'il n'est pas obligatoire de le mettre dans toutes les classes.
    Je voudrais avoir bien compris. Est-ce une faute de le mettre dans toute classe? Est ce qu'on peut supposer qu'on peut l'enlever s'il est vide? Vaut-il mieux considérer, que dans un système avec plusieurs classes, il vaut mieux ne le mettre que dans la classe qu'on démarre, pas dans celles qui dépendent de la classe qui s'exécute?
    J'aimerais bien comprendre
    La méthode main() sert à démarrer un programme. Elle n'est donc utile que pour la classe qui sert à démarrer : inutile d'en mettre dans toutes les classes, surtout si elle ne fait rien (éviter de surcharger le code avec des méthodes qui ne font rien, surtout qu'avec la méthode main() ça peut permettre à certains programmes de savoir qu'on peut lancer la classe, et comme elle ne fait rien (même pas afficher quoique ce soit), l'utilisateur peut se demander longtemps si c'est normal ou pas qu'il ne se passe rien).

    En général, lorsqu'on fait un programme, on a des classes qui servent à faire ce que le programme doit faire (celles qui modélisent les informations, celles qui font les traitements, celles pour l'IHM), plus une classe avec uniquement une méthode main() qui sert juste à démarrer l'application (qu'on peut appeler Launcher, Starter... ou ce qu'on veut...). On peut parfois avoir d'autres classes qui ont une méthode main pour faire des trucs annexes : genre sauvegarder ou réparer des fichiers que l'application principale a fabriquer, modifier la configuration externe (un xml) dans un petit programme à part, etc... Il n'y a pas de limite technique : juste du bon sens et éviter de faire des trucs qui ne servent à rien.

    Citation Envoyé par ZoliveR Voir le message
    2- Dans C# comme dans Java, plutôt que de réinventer la roue, on peut utiliser des classes d'autres développeurs... Ces classes sont-elles à télécharger (où, sur quel site), ou peut-on les inclure via Eclipse?
    Oui, il existe beaucoup d'autres classes faites par d'autres développeurs, ou organisations, ou sociétés. Elles peuvent se trouver isolées, en général sous forme de source dans un blog, mais normalement elles sont packagés dans une bibliothèque, qui est constituées d'une ou plusieurs fichiers d'extensions jar. Elles peuvent être distribuées sous différentes licences, payant ou gratuite, et il faut faire attention à comment on a le droit de s'en servir.
    Il n'y a pas d'endroit unique pour les trouver : il faut souvent faire des recherches sur un moteur de recherche (genre google). Il y a des organisations plus connues que d'autres et qui en produisent beaucoup (commen Apache par exemple) et il existe de nombreuses bibliothèques tierces plus connues que les autres (comme JDOM2 par exemple pour lire ou écrire des fichiers XML).
    Le forum Java Developpez est un bon endroit pour demander s'il existe une bibliothèque pour traiter quelque chose que tu aurais besoin de faire dans un de tes programmes (par exemple : si tu as besoin de générer des PDF, demande s'il existe une bibliothèque Java qui permet de générer des fichiers PDF, et on te répondra sûrement Itext ou PDFbox...)

    Ensuite, pour utiliser les classes qui sont sous forme de .java sur certains sites, il suffit de copier/coller leur source dans ton projet, comme si tu tapais toi-même la classe. Pour les jars, on les copie également dans le projet directement, et on les monte dans le classpath pour que les classes qui s'y trouvent soient utilisables dans tes propres classes : dans les IDE, comme Eclipse, on parle plus de Build Path que de classpath (considère pour l'instant que c'est pareil) : il faut passer par un menu d'Eclipse (Build Path / Add To Build Path) pour monter le jar dans le projet.

  3. #3
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 849
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 849
    Points : 22 858
    Points
    22 858
    Billets dans le blog
    51
    Par défaut
    Si tu cherches un equivalent a NuGet dans Visual Studio pour gérer les dépendances, c'est du cote de Maven que tu dois aller voir dans le monde Java. Et beaucoup de libs sont disponibles sur Maven Central ou les chercher via des outils permettant de le faire.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 108
    Points : 52
    Points
    52
    Par défaut
    Merci pour vos réponses... Je sens que j'ai encore un fameux chemin à faire si je veux progresser en Java (jusqu'à présent j'en suis aux bases, types primitifs, instructions de contrôle/boucle, Classes et objets, tableaux, Héritage, Exceptions... bref les bases!)

Discussions similaires

  1. Utiliser les méthodes ror dans une class perso
    Par BakaOnigiri dans le forum Ruby on Rails
    Réponses: 10
    Dernier message: 01/02/2010, 12h01
  2. méthode main dans une classe de test
    Par caro_caro dans le forum Tests et Performance
    Réponses: 1
    Dernier message: 01/11/2008, 15h00
  3. [POO] utiliser une méthode présente dans une autre classe
    Par arnaudperfect dans le forum Langage
    Réponses: 5
    Dernier message: 19/10/2007, 14h23
  4. méthode add dans une classe héritant de ArrayList
    Par sliderman dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 05/06/2007, 09h27
  5. mettre main() dans une classe
    Par YéTeeh dans le forum C++
    Réponses: 8
    Dernier message: 24/12/2005, 16h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo