Bonsoir à tous, j'espère que vous allez bien !
je me prépare pour un examen en java et je n'ai malheureusement pas compris un truc, et c'est pour cette raison que je vous écris cette question à fin de trouver un explication.
ma question est la suivante :
Considérons cet exemple :
Il est rejeté par le compilateur, tandis que celle ci :Code:
1
2
3
4
5
6
7 class A { public void f (int n) { ..... } } class B extends A { private void f (int n) { ..... } // tentative de redéfinition de f de A }
Code:
1
2
3
4
5
6 class A { private void f (int n) { ..... } } class B extends A { public void f (int n) { ..... } // redéfinition de f avec extension }
le livre dont j'ai trouvé cet exemple explique ceci par le fait que : la redéfinition d’une méthode ne doit pas diminuer les droits d’accès à cette méthode.
qui peut m'expliquer la différence entre les deux ?