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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2005
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 86
    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 : 42
    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
    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 :resolu:

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

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2005
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 86
    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..

  4. #4
    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 : 42
    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
    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 :resolu:

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

  5. #5
    Membre émérite Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Par défaut
    Ca doit être un singleton. Tu peux peut être faire
    Ou un truc dans le genre

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

  7. #7
    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 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++

  8. #8
    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 : 42
    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
    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 :resolu:

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

  9. #9
    Membre confirmé
    Inscrit en
    Mai 2005
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 86
    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....

  10. #10
    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 : 42
    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
    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 :resolu:

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

  11. #11
    Membre émérite 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
    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...

  12. #12
    Membre émérite 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

Discussions similaires

  1. Réponses: 5
    Dernier message: 23/02/2006, 15h18
  2. instancier objet COM
    Par Someonelse dans le forum MFC
    Réponses: 2
    Dernier message: 14/11/2005, 11h31
  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, 09h47
  4. Réponses: 6
    Dernier message: 30/06/2004, 09h16
  5. [VB.NET] Instanciation objet (sur class perso.)
    Par DaxTaz dans le forum ASP.NET
    Réponses: 4
    Dernier message: 03/05/2004, 12h07

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