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 :

Constructeur privé ou public


Sujet :

Langage Java

  1. #1
    Membre expérimenté Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 340
    Points : 1 576
    Points
    1 576
    Par défaut Constructeur privé ou public
    Bonjour,

    j'ai vu dans un exemple de code, un constructeur 'private' ??!
    Jusqu'à présent, j'étais persuadé qu'un constructeur était 'public'.

    Quelqu'un peut-il m'éclairer sur cette notion, afin de savoir dans quel cas utiliser cette subtilité ?

    Merci.
    @ bientôt...

    Salut & @+ sur 3W!

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Tu peux le mettre en private pour empêcher son utilisation, comme dans le pattern singleton, pour lequel on utilise la méthode getInstance au lieu du constructeur.

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Tu peux aussi le mettre d'une manière plus générale quand tu veux que les instances soient créées par des méthodes statiques dans la même classes pour diverses raison, comme le fait de vouloir garder en cache les objets ayant les même paramètres.

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 974
    Points : 1 825
    Points
    1 825
    Par défaut
    Citation Envoyé par rtg57 Voir le message
    Bonjour,

    j'ai vu dans un exemple de code, un constructeur 'private' ??!
    Jusqu'à présent, j'étais persuadé qu'un constructeur était 'public'.

    Quelqu'un peut-il m'éclairer sur cette notion, afin de savoir dans quel cas utiliser cette subtilité ?

    Merci.
    pour les énumérations:

    http://blog.paumard.org/cours/java/c...umeration.html

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Dans le cas des enum ça va un peu de soi, c'est le principe de leur existence -_-°. D'ailleurs on n'a pas le droit, de déclarer le constructeur autre chose que private.

    L'idée est plutôt que, tout comme c'est logique pour les enum, il peut y avoir d'autres types objets qui ne sont pas censés être construits en dehors de leur propre classe.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre expérimenté Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 340
    Points : 1 576
    Points
    1 576
    Par défaut
    Bonjour et merci à tous pour ces précisions.
    J'irai me coucher moins bête ce soir
    @ bientôt...

    Salut & @+ sur 3W!

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par rtg57 Voir le message
    Bonjour et merci à tous pour ces précisions.
    J'irai me coucher moins bête ce soir
    Il est 8h du mat et tu pense déjà à aller te coucher?

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

Discussions similaires

  1. Tableau de template avec constructeur privé
    Par polonain2 dans le forum Langage
    Réponses: 3
    Dernier message: 03/06/2010, 13h24
  2. Extend d'une classe avec un constructeur privé
    Par aelmalki dans le forum Langage
    Réponses: 5
    Dernier message: 13/03/2010, 11h09
  3. Réponses: 17
    Dernier message: 27/01/2010, 16h31
  4. Héritage d'une classe avec constructeur privé
    Par Braillane dans le forum Langage
    Réponses: 13
    Dernier message: 02/09/2009, 11h59
  5. [JUnit] [Test][Débutant] Constructeur privé
    Par Shabata dans le forum Tests et Performance
    Réponses: 2
    Dernier message: 12/01/2006, 15h45

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