Modificateurs d'accès
Par défaut, tous les
champset
méthodes d'une classe en Java sont
privés. Cela signifie que personne ne peut y accéder, ce qui signifie qu'en dehors des objets de cette classe, aucune méthode ne peut utiliser les champs et méthodes des objets de cette classe.
Les champs et les méthodes peuvent être rendus publics avec le
modificateur d'accès public
. Il existe également un modificateur
private
qui rend le champ privé. Il est facultatif car tous les champs et méthodes sont privés par défaut. Voici un exemple d'utilisation des modificateurs
public
et
private
.
livre de classe
{
nom de chaîne public ;
Chaîne authorName ;
privé int ageRequirement ;
Stringtext ;
public int pageCount ;
int getTextLength()
{
retourner la longueur du texte();
}
public int getAverageLetterCount()
{
retourne getTextLength() / pageCount ;
}
privé int getDifficuiltyLevel()
{
return 5 * ageRequirement * text.Length();
}
}
Dans cette version de la classe Book
, les champs name
et pageCount
sont rendus publics pour lecture et modification dans d'autres objets. La méthode getAverageLetterCount()
peut également être appelée à partir d'objets d'autres classes. Tous les autres champs et méthodes restent privés et ne sont disponibles que dans les méthodes de cette classe. Dans la méthode publique getAverageLetterCount()
nous pouvons appeler la méthode privée getTextLength()
car getAverageLetterCount()
appartient à la classe elle-même. Mais cela ne fonctionnera pas à partir d'une méthode d'une autre classe.
Mais pourquoi alors rendre les champs privés ? Dans le code Java, vous ne verrez principalement que des champs privés. Le fait est que si l'accès aux champs privés est effectué via les méthodes publiques de l'objet, alors avec un tel accès aux champs privés, il sera possible d'effectuer des actions et des vérifications supplémentaires. Vous en saurez plus dans la leçon sur l'encapsulation.