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 :

Points flous en java


Sujet :

Langage Java

  1. #1
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    157
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 157
    Par défaut Points flous en java
    Salut

    J'aimerais m'éclairer sur ces points qui sont flous dans ma tête

    La classe prinicipale c'est la classe qui contient la méthode main

    Est ce que je dois utiliser des imports pour faire la laison entre la classe principale et les classes auxiliaires (les classes que je crée) Comme en C/C++ (les includes)

    Est ce que chaque fichier .java doit contenir une classe public qui porte le meme nom que le fichier .java

    Cdt

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2007
    Messages : 187
    Par défaut
    Citation Envoyé par Qamalito Voir le message
    La classe prinicipale c'est la classe qui contient la méthode main
    oui


    Citation Envoyé par Qamalito Voir le message
    Est ce que je dois utiliser des imports pour faire la laison entre la classe principale et les classes auxiliaires (les classes que je crée). Comment en C/C++ (les includes)
    tu dois metre un import chaque fois que tu veux accéder à une classe d'un autre package...

    Citation Envoyé par Qamalito Voir le message
    Est ce que chaque fichier .java doit contenir une classe public qui porte le meme nom que le fichier .java
    Oui, contrairement à .Net qui accepte n'importe quoi, en Java un fichier Xxx.java doit contenir (au moins) la classe Xxx (attention à la case)

    Cdt

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    157
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 157
    Par défaut
    Citation Envoyé par pdelorme Voir le message
    Oui tu dois metre un import chaque fois que tu veux accéder à une classe d'un autre package...
    Alors dans le meme package c'est pas obligatoire.

    Et puis, merci pour la remarque de la casse

    Cdt

  4. #4
    Membre Expert
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Par défaut
    Bonjour
    Citation Envoyé par Qamalito
    Citation Envoyé par pdelorme
    Oui tu dois metre un import chaque fois que tu veux accéder à une classe d'un autre package...
    Alors dans le meme package c'est pas obligatoire.
    Je te donne un exemple si dans ton code tu utilise Random, ArrayList et HashMap un simple import du genre import java.util.* sufirait pour les utiliser mais je te conseillerai de faire plutot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      import java.util.Random; 
      import java.util.HashMap;
      import java.util.Arraylist;
    Comme ça tu sais reelement les classes que tu utilises dans ton code.
    Donc je rejoins ta reponse sur ce
    @+

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    157
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 157
    Par défaut
    Citation Envoyé par krachik Voir le message
    Bonjour

    Je te donne un exemple si dans ton code tu utilise Random, ArrayList et HashMap un simple import du genre import java.util.* sufirait pour les utiliser mais je te conseillerai de faire plutot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      import java.util.Random; 
      import java.util.HashMap;
      import java.util.Arraylist;
    Comme ça tu sais reelement les classes que tu utilises dans ton code.
    Donc je rejoins ta reponse sur ce
    @+
    Merci beaucoup de ta réponse mais mon problème c'est que c'est pas comment importer les classes natives ou bien préfabriquées java, alors supposons qu'on a deux fichiers Main.java et Autre.java, dans ce cas, est ce qu' il faut importer Autre.java dans Main.java ou l'importation se fait automatiquement.

    Cdt

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 136
    Par défaut Bonjour,
    Citation Envoyé par Qamalito Voir le message
    Merci beaucoup de ta réponse mais mon problème c'est que c'est pas comment importer les classes natives ou bien préfabriquées java, alors supposons qu'on a deux fichiers Main.java et Autre.java, dans ce cas, est ce qu' il faut importer Autre.java dans Main.java ou l'importation se fait automatiquement.

    Cdt
    Si Autre.java est dans le même package que Main.java, alors tu n'as pas besoin de l'importer.
    Par contre si Autre.java est dans le package mypackage.myclasses, et que Main.java est dans le package mypackage.mylaunchclass, alors il te faudra importer Autre.java dans Main.java en faisant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    import mypackage.myclasses.Autre;
    Cordialement

  7. #7
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Par défaut
    Citation Envoyé par Qamalito Voir le message
    Merci beaucoup de ta réponse mais mon problème c'est que c'est pas comment importer les classes natives ou bien préfabriquées java
    Importer des classes fournies par Sun ou des classes qu'on a codées soit-même, c'est exactement la même chose (ainsi, si l'envie t'en prenait de développer une classe dans un package java.util de ton application, tu pourrais utiliser des Map ou autres sans faire d'import de classes).

    Citation Envoyé par Qamalito Voir le message
    alors supposons qu'on a deux fichiers Main.java et Autre.java, dans ce cas, est ce qu' il faut importer Autre.java dans Main.java ou l'importation se fait automatiquement.
    Comme on te l'a déjà expliqué, ça dépend de leurs packages respectifs!
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  8. #8
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    157
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 157
    Par défaut
    Merci beaucoup beaucoup pour le partage.

  9. #9
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Août 2005
    Messages : 6 904
    Billets dans le blog
    54
    Par défaut
    Citation Envoyé par CyberChouan Voir le message
    ainsi, si l'envie t'en prenait de développer une classe dans un package java.util de ton application, tu pourrais utiliser des Map ou autres sans faire d'import de classes
    Sauf que c'est MAL et que fut un temps cela pouvait mener a un proces (voir "Sun vs. Microsoft: Final Round !"). Les packages et sous-packages java, javax et com.sun sont hors-limite pour les devellopeurs non-licensies, quoi qu'il faille verifier ce qu'il en est avec les dernieres licenses qui etaient sensees permettre de redistribuer des JVM patchees/modifiees dans le cas ou la maj officielle du bug tardait a venir.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  10. #10
    Membre éprouvé
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Par défaut
    Citation Envoyé par bouye Voir le message
    Sauf que c'est MAL et que fut un temps cela pouvait mener a un proces (voir "Sun vs. Microsoft: Final Round !"). Les packages et sous-packages java, javax et com.sun sont hors-limite pour les devellopeurs non-licensies, quoi qu'il faille verifier ce qu'il en est avec les dernieres licenses qui etaient sensees permettre de redistribuer des JVM patchees/modifiees dans le cas ou la maj officielle du bug tardait a venir.
    De toute façon, je crois que c'est pas possible de déclarer une classe comme faisant partie du package java.util.

    Ce package, comme tous les packages contenant les classes standards de Java sont "sealed", c'est à dire qu'il n'est pas possible d'y ajouter des classes.

    C'est peut être ce que tu voulais dire par hors limite d'ailleurs.

  11. #11
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Par défaut
    Citation Envoyé par bouye Voir le message
    Sauf que c'est MAL et que fut un temps cela pouvait mener a un proces (voir "Sun vs. Microsoft: Final Round !"). Les packages et sous-packages java, javax et com.sun sont hors-limite pour les devellopeurs non-licensies, quoi qu'il faille verifier ce qu'il en est avec les dernieres licenses qui etaient sensees permettre de redistribuer des JVM patchees/modifiees dans le cas ou la maj officielle du bug tardait a venir.
    Je suis parfaitement d'accord. D'ailleurs je n'ai jamais codé (et ne coderai sans doute jamais) la moindre classe en réutilisant un nom de package déjà existant dans les classes fournies par Sun.
    L'exemple que je donnais était juste pour illustrer le fait que l'import des classes fonctionne de la même manière pour les classes "Sun" et les autres.

    Citation Envoyé par Deadpool Voir le message
    Ce package, comme tous les packages contenant les classes standards de Java sont "sealed", c'est à dire qu'il n'est pas possible d'y ajouter des classes.
    Merci pour cette précision. N'ayant jamais tenté la manipulation, je ne savais pas que c'était impossible...

    [EDIT] Par "curiosité", j'ai voulu tester cette information, pour voir comment se comportait la JVM. Ce qui est "amusant", c'est qu'une classe déclarée dans "java.util" compile sans problème. Par contre c'est à l'exécution qu'on se retrouve avec une "SecurityException: package name prohibited", au moment du chargement de la classe par le classLoader.
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

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

Discussions similaires

  1. Point exe en java
    Par cyrilkok dans le forum Général Java
    Réponses: 1
    Dernier message: 07/02/2014, 08h10
  2. [PHP 5.3] quelques points flous sur la POO avec PHP
    Par ikuzar dans le forum Langage
    Réponses: 1
    Dernier message: 19/09/2012, 14h23
  3. Point objet en Java
    Par Ben2903 dans le forum Débuter
    Réponses: 4
    Dernier message: 06/08/2012, 15h28
  4. point jar+ireport +java
    Par naldo dans le forum iReport
    Réponses: 0
    Dernier message: 10/03/2011, 10h20
  5. [Recrutement] Point & Click Like - Java - Moteur 3D
    Par NextArchitecture dans le forum Projets
    Réponses: 1
    Dernier message: 12/10/2010, 11h15

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