Accéder au contenu principal
Documents
Tableaux JavaProgrammation orientée objet en JavaTraitement des fichiers en JavaIntroduction To JavaLes bases du langage JavaMots-clés Java

mot-clé private en Java

Le mot-clé private en Java est un modificateur d'accès utilisé pour restreindre la visibilité des champs, des méthodes et des constructeurs à la classe qui les définit. Ce mécanisme d'encapsulation permet de protéger l'état interne d'un objet et favorise le masquage des données.

Utilisation

Le modificateur d'accès private garantit que les membres (champs, méthodes, constructeurs) d'une classe ne sont accessibles qu'à l'intérieur de la même classe. Il est généralement utilisé pour renforcer l'encapsulation et empêcher tout accès non autorisé depuis l'extérieur de la classe.

Syntax

class ClassName {
    private dataType fieldName;
    
    private returnType methodName() {
        // method body
    }
}
  • dataType fieldName: Déclaration d'un champ privé.
  • returnType methodName(): Déclaration d'une méthode privée.

Exemples

Exemple 1 : Domaine privé

public class Person {
    private String name;
    
    public void setName(String name) {
        this.name = name;
    }
    
    public String getName() {
        return name;
    }
}

Dans cet exemple, le champ name est déclaré comme private, ce qui signifie qu'il n'est pas possible d'y accéder directement depuis l'extérieur de la classe Person. Les méthodes setName et getName permettent de contrôler l'accès à ce champ.

Exemple 2 : Méthode privée

public class Calculator {
    public int add(int a, int b) {
        return a + b;
    }
    
    private int subtract(int a, int b) {
        return a - b;
    }
    
    public int performSubtraction(int a, int b) {
        return subtract(a, b);
    }
}

Ici, la méthode subtract est privée et ne peut être appelée qu'au sein de la classe Calculator. La méthode performSubtraction fournit une interface publique permettant d'utiliser la méthode subtract.

Exemple 3 : Constructeur privé

public class Singleton {
    private static Singleton instance;
    
    private Singleton() {
        // private constructor
    }
    
    public static Singleton getInstance() {
        if (instance == null) {
            instance = new Singleton();
        }
        return instance;
    }
}

Cet exemple illustre un modèle de singleton où le constructeur est privé, ce qui garantit qu'une seule instance de la classe Singleton peut être créée. La méthode getInstance permet d'accéder à une instance unique.

Conseils et bonnes pratiques

  • Encapsulation: Utilisez private pour encapsuler l'état interne d'une classe et n'exposez que les méthodes nécessaires pour interagir avec cet état.
  • Accès contrôlé: Fournissez des méthodes publiques de type "getter" et "setter" pour contrôler l'accès aux champs privés et leur modification.
  • Classes immuables: Pour les classes immuables, faites en sorte que les champs soient private et final, et évitez de fournir des setters.
    public class ImmutableClass {
        private final int value;
        
        public ImmutableClass(int value) {
            this.value = value;
        }
        
        public int getValue() {
            return value;
        }
    }
  • La sécurité: Utilisez private pour cacher les méthodes et les données sensibles qui ne doivent pas être exposées à d'autres classes.
  • Modèle Singleton: Dans les modèles de singleton, utilisez un constructeur privé pour empêcher l'instanciation directe de la classe.

Apprendre l'essentiel de Java

Développez vos compétences en Java à partir de la base et maîtrisez les concepts de programmation.
Commencez à apprendre gratuitement