Bonsoir,
J'ajouterai l'exemple suivant :
public class Mere {
private int a;
protected int b;
public int c;
}
public class Fille {
public void afficher() {
System.out.println(a); /*ne marche pas car une variable private n'est pas visible depuis une classe fille*/
System.out.println(b); /*marche car une variable protected est visible depuis une classe fille*/
System.out.println(c): /*fonctionne tout le temps car c est public*/
}
}
public class Externe { //Externe est dans un autre package que Mere et Fille
public void afficher() {
System.out.println(a); // ne marche pas
System.out.println(b); // ne marche pas
System.out.println(c): //fonctionne tout le temps car c est public
}
}
Enfin, si tu ne spécifies pas la visibilité, l'attribut est "package friendly", c'est-à-dire qu'il va être visible par toutes les classes qui se trouvent dans le package de ta classe.
Cordialement,