Demande d'une explication
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 :
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
} |
Il est rejeté par le compilateur, tandis que celle ci :
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 ?