Accès protégé membre de différents paquets dans Java - une curiosité

package packageOne;
public class Base
{
protected void display(){
system.out.println("in Base");
}
}


package packageTwo;
public class Derived extends packageOne.Base{
public void show(){
new Base().display();//this is not working throws compilation error that display() from the type Base is not visible
new Derived().display();//is working
display();//is working
}
}

Les deux paquets sont dans deux fichiers différents. Mais pourquoi ce comportement?

source d'informationauteur abson