Accessibilité classe interne à une méthode
Bonjour,
Voici le petit bout de code suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
public class InnerMethod {
private int x = 10;
public void test() {
class LocalClass {
private int x = 3;
private void printX() {
System.out.println(InnerMethod.this.x + this.x);
}
}
LocalClass l = new LocalClass();
l.printX();
}
public static void main(String[] args) {
InnerMethod monInnerMethod = new InnerMethod();
monInnerMethod.test();
}
} |
Lorsque je lance ce programme, j'obtiens le résultat attendu : 13.
Cependant je n'arrive pas à comprendre pourquoi j'ai le droit d'appeler l'instruction l.printX() étant donné que cette méthode est déclarée private au sein de la classe LocalClass.
Ne devrais-je pas pouvoir l'appeler uniquement au sein de la classe LocalClass ??