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 :

Instancier objet dont constructeur ni private ni public


Sujet :

Langage Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2005
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 86
    Points : 35
    Points
    35
    Par défaut Instancier objet dont constructeur ni private ni public
    Bonjour, je souhaite utiliser des objets se trouvant dans un package, pour cela, j'ai fait un import du package et ensuite, pour l'instanciation, je fais un :
    Objet ob = new Objet();
    Quand je fais ça, eclipse me met l'erreur "the constructor Objet() is not visible".
    Le constructeur Objet() de la class Objet n'est ni en private ni en public...le problème vient surement de là, savez vous ce que je peux faire? merci

  2. #2
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Le fait de ne pas spécifier de niveau de visibilité à un constructeur (ou une méthode) et équivalent à mettre un niveau de visibilité private.
    Si tu veus pouvoir instancier ta classe en dehors de son package il te faut déclarer le constructeur public .
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  3. #3
    Membre éclairé Avatar de g_rare
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 608
    Points : 683
    Points
    683
    " Jag blev dömd för fildelning och allt jag fick var en sketen t-shirt. " (tankafritt.nu)
    PAS DE REPONSE PAR MESSAGE PRIVE ! Penser au bouton Résolu en bas de la discussion...

  4. #4
    Nouveau membre du Club
    Inscrit en
    Mai 2005
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 86
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par le y@m's
    Le fait de ne pas spécifier de niveau de visibilité à un constructeur (ou une méthode) et équivalent à mettre un niveau de visibilité private.
    Si tu veus pouvoir instancier ta classe en dehors de son package il te faut spécifier le constructeur public .

    Oui, mais ce n'est pas mon Objet et je ne dois pas changer le code, c'est à dire que je ne dois pas rajouter public malheureusement..

  5. #5
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Dans ce cas, la classe Objet doit surement avoir une méthode static qui te renvoie une instance de la classe Objet.
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  6. #6
    Membre éclairé Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Points : 724
    Points
    724
    Par défaut
    Ca doit être un singleton. Tu peux peut être faire
    Ou un truc dans le genre
    "Il y a 3 personnes en ce monde sur qui tu peux compter : moi, le pape et le cavalier solitaire ! "
    Penser à svp

  7. #7
    Nouveau membre du Club
    Inscrit en
    Mai 2005
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 86
    Points : 35
    Points
    35
    Par défaut
    ben non, c'est ce que j'ai regardé...mais y'a meme pas ça...

  8. #8
    Expert éminent sénior
    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
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par le y@m's
    Le fait de ne pas spécifier de niveau de visibilité à un constructeur (ou une méthode) et équivalent à mettre un niveau de visibilité private.
    Pas tout à fait. L'absence de mot-clef de visibilité correspond à une visibilité "package-only". C'est à dire que l'élément n'est visible que depuis d'autre classe/méthode du même package...

    Plus d'info dans la FAQ : Que signifient les mots-clés public, private et protected ?

    Citation Envoyé par babarpapa
    Oui, mais ce n'est pas mon Objet et je ne dois pas changer le code, c'est à dire que je ne dois pas rajouter public malheureusement..
    D'où vient cette classe exactement ? Si on ne t'authorise pas à en créer c'est qu'il doit y avoir une raison (ou alors c'est une erreur de programmation).

    a++

  9. #9
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Merci de m'avoir corrigé

    ... et moi qui dit tout le temps d'aller voir la FAQ, je suis impardonnable
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  10. #10
    Nouveau membre du Club
    Inscrit en
    Mai 2005
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 86
    Points : 35
    Points
    35
    Par défaut
    Je suis en train de bosser sur un petit logiciel qui utilise ImageJ, et NeuronJ, pour tout ce qui est utilisation des objets ImageJ, pas de soucis, par contre, pour NeuronJ, j'ai de gros problème à cause de ça....

  11. #11
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Citation Envoyé par babarpapa
    Je suis en train de bosser sur un petit logiciel qui utilise ImageJ, et NeuronJ, pour tout ce qui est utilisation des objets ImageJ, pas de soucis, par contre, pour NeuronJ, j'ai de gros problème à cause de ça....
    Ca nous avance pas trop, elles sortent d'où ces classes ?
    Comme je te l'ai dit, vérifie s'il n'y a pas de méthode static qui de renvoie une instance de la classe. Sinon il y a peut-être une autre classe (genre NeuronFactory où un truc dans le genre) qui se charge de créer et te renvoyée une instance de la classe.
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  12. #12
    Membre éclairé Avatar de g_rare
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 608
    Points : 683
    Points
    683
    Par défaut
    Sinon en dernière solution, tu peux essayer de "feinter" en déclarant ta classe dans le même package que la classe que tu veux instancier : mais (c'est crade. et) je suis pas sûr que ça marche si 2 classes déclarées dans un même package sont chargées dans 2 JARs différents...
    " Jag blev dömd för fildelning och allt jag fick var en sketen t-shirt. " (tankafritt.nu)
    PAS DE REPONSE PAR MESSAGE PRIVE ! Penser au bouton Résolu en bas de la discussion...

  13. #13
    Membre confirmé Avatar de NeptuS
    Profil pro
    Inscrit en
    Août 2005
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 392
    Points : 508
    Points
    508
    Par défaut
    petite question à 2 balles : t'es sûr de t'y prendre correctement ?

    Je ne suis pas à ta place, mais tu devrais vérifier que c'est bien de cette classe (NeuronJ) dont tu as besoin et que ton package ne possède pas une classe qui servirait de gestionnaire à un ensemble de neurones créés. Dans ce cas, il semblerait logique qu'on ne te donne pas accès à NeuronJ en dehors du package mais que la classe reste accessible à l'intérieur de celui-ci.

    Une seule méthode :

    - Papier
    - Crayon
    - Diagramme de Classes.
    Toute vérité est bonne à entendre, même si toutes les vérités ne sont pas bonnes à dire.
    Rien ne sert de partir à point, il vaut mieux courir .

  14. #14
    Membre averti Avatar de dazz_x
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    269
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2006
    Messages : 269
    Points : 328
    Points
    328
    Par défaut
    En plus le constructeur de NeuronJ_ est déclaré public....
    Et la classe NeuronJ_ est déclarée final, c'est p'têt un problème de tentative d'héritage...
    Enfin moi, ce que j'en dis...
    La différence entre la théorie et la pratique est plus mince en théorie qu'en pratique

  15. #15
    Membre éclairé Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Points : 724
    Points
    724
    Par défaut
    En fait tu utilises cette API mais t'as pas la doc ? Si c'est le cas, tu vas avoir d'autres problèmes liés aux méthodes une fois que ton problème de constructeur sera résolu je pense...
    "Il y a 3 personnes en ce monde sur qui tu peux compter : moi, le pape et le cavalier solitaire ! "
    Penser à svp

Discussions similaires

  1. Réponses: 5
    Dernier message: 23/02/2006, 14h18
  2. instancier objet COM
    Par Someonelse dans le forum MFC
    Réponses: 2
    Dernier message: 14/11/2005, 10h31
  3. [POO] Désactiver un objet dont le nom est passé en parametre
    Par JavaEli dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 12/07/2005, 08h47
  4. Réponses: 6
    Dernier message: 30/06/2004, 08h16
  5. [VB.NET] Instanciation objet (sur class perso.)
    Par DaxTaz dans le forum ASP.NET
    Réponses: 4
    Dernier message: 03/05/2004, 11h07

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