Zugriff auf geschützte innere Klasse beim Erben nicht möglich

Beim Lesen von "Thinking in Java" bin ich in Ex: 6 des Kapitels Innere Klassen geblieben.

Übung 6: (2) Erstellen Sie eine Schnittstelle mit mindestens einer Methode in einem eigenen Paket. Erstellen Sie eine Klasse in einem separaten Paket. Fügen Sie eine geschützte innere Klasse hinzu, die die Schnittstelle implementiert. In einem dritten Paket erben Sie von Ihrer Klasse und geben innerhalb einer Methode ein Objekt der geschützten inneren Klasse zurück, das während der Rückkehr an die Schnittstelle weitergeleitet wird.

Das ist mein Code:

IOne.java

Schnittstelle

package intfpack;
public interface IOne{
        void    f();
}
COne.java

Klasse mit geschützter innerer Klasse, die die Schnittstelle implementiert

package classpack;
import intfpack.*;
public class COne{
        protected class Inner implements IOne{
                public void f(){System.out.println("Inner class of COne");}
        } 
}
CTwo.java

Von Klasse mit geschützter innerer Klasse erben

package thirdpack;
import classpack.*;
import intfpack.*;

public class CTwo extends COne{
        public IOne getInner(){
                IOne io = new Inner(); 
                return io;
        }
        public static void main(String[] args){
                CTwo ct = new CTwo();
                ct.getInner();
        }
}

Copmiler sagt als nächstes:

javac CTwo.java
CTwo.java:9: Inner() has protected access in classpack.COne.Inner
                IOne io = new Inner(); 
                          ^
1 error

Aber das Buch sagt, dass ich in abgeleiteten Klassen auf geschützte innere Klassen zugreifen kann. Wo ist ein Fehler?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage