Bonjour,
Voici le petit bout de code suivant :
Lorsque je lance ce programme, j'obtiens le résultat attendu : 13.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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(); } }
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 ??
Partager