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 :

Problème appel type d'une autre classe


Sujet :

avec Java

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Problème appel type d'une autre classe
    Bonjour,

    Je déséspère vraiment depuis 2 jours, je fais donc appel à vos bon services.

    Je vais simplifier :

    J'ai ma class Main (fichier app.java)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public static void main
    {
         Fonctions.Menu();
    }
    Fichier Fonctions.java :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public static void Menu()
    {
          blablabla
    }
    Jusque là tout va bien.
    Le problème c'est que j'ai un troisième fichier (conversion.java) dans lequel j'ai crééer une classe. Quand j'instancie un objet de cette classe dans la fonction Menu, j'ai un message d'erreur (cannot be resolved to a type), pourtant le type existe il est dans mon troisième fichier. J'ai essayé de jouer avec les public et static mais rien n'y fait, impossible d'avancer dans mon projet.

    Si quelqu'un a une explication merci d'avance,

  2. #2
    Invité
    Invité(e)
    Par défaut
    Est ce que tu as fais les import nécessaire si ta classe est dans un package différent ? (Ctrl + Shift + O sous Eclipse)

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Tout est dans le même package :/

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    C'est bien, de nous filer tout sauf le code qui génère l'erreur et la classe qui est en erreur, ça va vachement aider....

  5. #5
    Invité
    Invité(e)
    Par défaut
    La convention de nommage Java dit que les noms de classes doivent commencer par une majuscule, et les nom de fonction par une minuscule.
    Ton fichier conversion.java doit normalement contenir la classe Conversion (ton fichier devrait donc lui aussi commencé par une majuscule).

    Si je résume, dans ton fichier conversion.java, tu as un public class Conversion {...}.
    Dans Fonctions.Menu(), tu fais un new Conversion(); et on te dit que la classe Conversion n'existe pas alors qu'elle se trouve dans le même package.

    En Java, un nom de fichier doit correspondre au nom de la classe publique qu'il représente.
    Donc si tu nommes ton fichier conversion.java mais que tu appels ta classe publique Conversion, tu vas avoir 2 erreurs :
    - Java ne va pas trouver ta classe Conversion et donc le fichier conversion.java ne va pas compiler.
    - Les classes qui utilisent la classe Conversion vont donc se taper une erreur comme quoi cette classe n'existe pas.

    Je ne suis pas un expert des règles du compilateur concernant les manquements aux conventions de nommage, je me contente de respecter les conventions et ça marche très bien Donc peut-être que ce que je dis n'est pas exacte. Mais ce sont les seuls potentiels erreurs que j'arrive a voir avec ce que tu nous donnes.
    Comme là dit @tchize_, si tu veux une aide plus précise, il nous faut les sources liée a ton problème
    Dernière modification par Invité ; 18/12/2015 à 13h28.

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Les conventions ne sont pas forcées par le compilateur ou la jvm. Je peux inventer une classe commencant par une minuscule ou déclarer une variable avec un majuscule.

Discussions similaires

  1. Réponses: 4
    Dernier message: 27/08/2011, 02h02
  2. Representer un type d'une autre classe dans le diagramme de classe.
    Par Hello_World dans le forum Diagrammes de Classes
    Réponses: 5
    Dernier message: 08/05/2009, 00h58
  3. Attribut d'une classe du type d'une autre classe
    Par Ragnarok666 dans le forum Débuter
    Réponses: 12
    Dernier message: 14/04/2009, 18h43
  4. appeler fonction d'une autre classe pour faire une opération
    Par AzraHell dans le forum Débuter avec Java
    Réponses: 13
    Dernier message: 31/03/2009, 21h32
  5. Appel fonction d'une autre classe
    Par winnyzeboss1 dans le forum MFC
    Réponses: 5
    Dernier message: 12/03/2009, 10h25

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