¿Por qué la subclase en otro paquete no puede acceder a un método protegido?

Tengo dos clases en dos paquetes diferentes:

package package1;

public class Class1 {
    public void tryMePublic() {
    }

    protected void tryMeProtected() {
    }
}


package package2;

import package1.Class1;

public class Class2 extends Class1 {
    doNow() {
        Class1 c = new Class1();
        c.tryMeProtected(); // ERROR: tryMeProtected() has protected access in Class1
        tryMeProtected();  // No error
    }    
}

Puedo entender por qué no hay error en llamartryMeProtected() ya queClass2 ve este método como hereda deClass1.

Pero ¿por qué no es posible que un objeto deClass2 para acceder a este método en un objeto deClass1 utilizandoc.tryMeProtected(); ?

Respuestas a la pregunta(6)

Su respuesta a la pregunta