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

Langage Java Discussion :

Imports : petites précisions


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 572
    Par défaut Imports : petites précisions
    Bonjour,

    Juste par curiosité, j'aimerais savoir comment java gère les imports, c'est à dire que si on fait
    alors qu'on aurai besoin uniquement de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    import java.io.File;
    quelle est la différence réelle entre les deux façons de faire ?

    Euh, pour etre clair, c'est mieux de faire un * ou de faire la liste des imports spécifiques qu'on veut ? J'ai tendance a faire la liste précise en général, mais je sais pas comment c'est géré en interne.

    Merci d'avance

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 145
    Par défaut Imports: petites précisions
    import package.*;
    => importe toutes les classes du package (selon la visibilité)

    import package.nomClasse;
    => importe seulement la classe précisée

    Il est préférable de n'importer que les classes dont tu as strictement besoin. Tu auras moins de chance d'avoir des collisions dans les noms de classe (2 classes ayant le même nom mais venant de packages différents). De plus, il est plus facile de déterminer quelles sont les classes nécessaires par simple lecture de la section des imports. Sous Eclipse, générer les imports se fait avec Ctrl+Shift+O

  3. #3
    Membre émérite
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Par défaut
    Citation Envoyé par mat360
    import package.*;
    => importe toutes les classes du package (selon la visibilité)

    import package.nomClasse;
    => importe seulement la classe précisée

    Il est préférable de n'importer que les classes dont tu as strictement besoin. Tu auras moins de chance d'avoir des collisions dans les noms de classe (2 classes ayant le même nom mais venant de packages différents). De plus, il est plus facile de déterminer quelles sont les classes nécessaires par simple lecture de la section des imports. Sous Eclipse, générer les imports se fait avec Ctrl+Shift+O
    Juste une petite précision sur l'import... au niveau rapidité à l'éxécution et code généré le import java.io.*; est strictement identique a import java.io.File;

    En effet en java l'import ne correspond pas à une inclusion du code importé dans le fichier généré (comme en C par exemple) mais à un chemin d'éxécution pour trouver les classes compilées.

    Alors on préconise le import java.io.File; par soucis de lisibilité.

  4. #4
    Membre émérite
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Par défaut
    Citation Envoyé par mat360
    Il est préférable de n'importer que les classes dont tu as strictement besoin. Tu auras moins de chance d'avoir des collisions dans les noms de classe (2 classes ayant le même nom mais venant de packages différents).
    La je vois pas le rapport entre l'import et la collision de noms.

    Par exemple, si tu fais un import java.util.Date et java.sql.Date; il y aura toujours une collision de nom quand tu utiliseras un objet de type Date. Que tu fasses import java.sql.*; et java.util.*; n'apportera rien en bien ou en mal... sauf une meilleure lisibilité.

  5. #5
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par thibaut
    La je vois pas le rapport entre l'import et la collision de noms.
    Disons que lorsqu'il y a une collisions de nom, tu ne peux plus utiliser les import * mais spécifier les classes de manière unique (au moins pour un des deux packages).


    Sinon concernant l'utilisation des imports * ou des imports nommés, cela dépend également des outils que tu as a disposition...

    • Si tu développes avec des EDI évolués (tel qu'eclipse ou NetBeans par exempl), ils se chargent de générer la liste des imports automatiquement : raison de plus de ne pas s'en priver...
    • Par contre si tu développes simplement avec de petits éditeurs qui ne te permette pas cela, je te conseille vivement d'utiliser les imports * sinon cela peut vite devenir très galère à devoir les ajouter un à un...



    Mais cela n'a aucune incidence sur le bytecode généré par le compilateur...

    a++

  6. #6
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 572
    Par défaut
    Merci, c'est exactement ce que je voulais savoir

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 15/06/2007, 16h12
  2. petite précision de parenthèse en SQL
    Par Smix007 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 21/05/2007, 14h30
  3. petite précision sur gtk_main_quit()
    Par bit_o dans le forum GTK+ avec C & C++
    Réponses: 4
    Dernier message: 19/04/2007, 22h20
  4. Petite précision sur les pointeurs
    Par Fonzy007 dans le forum C
    Réponses: 2
    Dernier message: 07/12/2006, 12h25
  5. [XPath] petite précision sur type de syntaxe
    Par Royd938 dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 15/06/2006, 13h13

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