Bonjour...

j'ai un problème, mais plutôt que d'essayer de le raconter, je vais le mettre en situation. J'ai 3 classes (pour simplifier)

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
package monPackage;
 
public class A()
{
    private B monB = new B();
 
    public A()
    {
        //ici ya tout ce qu'il faut pour que ça marche...
    }
 
    protected B getMonB()
    {
        return monB;
    }
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
package monPackage;
 
public class B()
{
    public B()
    {
        //ici ya tout ce qu'il faut pour que ça marche...
    }
 
    private void affiche()
    {
        System.out.println("youpi, j'ai réussi à compiler !!")
    }
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
package monPackage;
 
public class C()
{
    public C()
    {
        //ici ya tout ce qu'il faut pour que ça marche...
    }
 
    protected void faitRien()
    {
        getMonB().affiche();
    }
}
Et là, c'est le drame : quand je veux le compiler (on imagine que j'ai un main() quelquepart), j'ai un message d'erreur:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
The method getMonB() is undefined for the type C.
Pourtant il me semblait que les méthodes déclarées protected étaient visibles par toutes les classes du même package...

So help me, please.