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 :

Access modifier friendly et sous-package


Sujet :

avec Java

  1. #1
    Membre du Club Avatar de Takumi
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2009
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2009
    Messages : 163
    Points : 62
    Points
    62
    Par défaut Access modifier friendly et sous-package
    Bonsoir,

    Etant un grand débutant en Java je bloque sur un problème. Il se trouve que j'ai un package A et un sous-package A.z. Dans le package A j'ai une classe toto et dans le package A.z une classe titi. Je voulais faire en sorte que ma classe titi soit instanciable uniquement par des classes qui sont dans le même package mais pas par des classes extérieurs au package (quand je dit exterieur je veux bien dire completement différent par exemple depuis un package B). Après quelque recherche j'ai pu trouver que si je n'indique aucun access modifier cela correspond à friendly, ce qui semble signifier accessible uniquement par les classes du même package. Chouette ça correspond à ce que je souhaite faire. Donc je prends ma classe titi qui est dans A.z, je laisse la classe en public mais je met son constructeur sans aucun access modifier. Normalement cela devrais permettre uniquement au classe du même package de pouvoir l'instancier. Donc j'essais de l'instancier depuis la classe toto qui est dans A. Et la catastrophe cela ne marche pas, Eclipse m'indique que la méthode n'est pas visible. Pourtant les deux classes semblent être dans le même package qui est A (même si titi est dans un sous-package de A).

    Ma question est, est-ce que friendly est limité à un seul package, c'est à dire dans mon cas si j'ai un friendly dans A.z cela reste accessible aux classes uniquement dans A.z. Ou bien est-ce que cela se limite au package de plus haut niveau, c'est à dire peut importe dans quelle package friendly est du moment que c'est dans le package A, toutes les autres classes dans A auront aussi accès même si elles sont dans des sous package de A.

    Ce qui m'intéresse est de faire en sorte que le constructeur de titi soit friendly mais pas limité à son seul package mais au package parent du sien.

    J'espère avoir été clair et que vous apporterez une réponse à mon problème. Je vous en remercie d'avance.

  2. #2
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 562
    Points : 15 493
    Points
    15 493
    Par défaut
    Le terme généralement employé en Java pour ce que tu appelles "friendly" est "package private"

    Malheureusement pour toi, en java un sous-package est considéré comme un package complètement différent, et je ne crois pas qu'il y ait de solution a ton problème actuellement. Il est prévu dans le futur (Java 7 ou 8 je suis plus sur) d'ajouter la notion de super-package qui permettraient de gérer ce genre de de problème.

  3. #3
    Membre du Club Avatar de Takumi
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2009
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2009
    Messages : 163
    Points : 62
    Points
    62
    Par défaut
    Merci pour la réponse. Bon je fais essayer de faire mon truc autrement alors.

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

Discussions similaires

  1. Impossible de créer un sous-package
    Par ouckileou dans le forum Eclipse Java
    Réponses: 7
    Dernier message: 20/08/2014, 17h36
  2. [AC-2010] Comment modifier un diagramme sous Access ?
    Par dollymally dans le forum IHM
    Réponses: 3
    Dernier message: 29/04/2014, 09h00
  3. Une requete access à modifier sous delphi
    Par Zizou7 dans le forum Bases de données
    Réponses: 3
    Dernier message: 06/07/2009, 10h19
  4. [Debutant] Comment faire des sous-packages
    Par benratti dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 17/02/2005, 13h46
  5. [SQL Access] Modifier la structure d'une table
    Par Le Lézard dans le forum Bases de données
    Réponses: 6
    Dernier message: 28/06/2004, 14h03

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