Я готовлюсь к SCJP, также я узнал, что область действия защищенных членов находится внутри пакета, а также в другом пакете с некоторыми условиями, которые возможны только с наследованием.
Например:
у меня есть три класса как Parentclass Childclass Friendclass
package x.parent;
class Parentclass{
protected int x=10;
...............
}
package x.child;
class Childlass extends Parentclass{
super.x=20;
...............
}
package x.child;
import x.parent.Parentclass;
class Friendclass{
Parentclass pc = new Parentclass();
pc.x=30;
...............
}
В чем причина того, что в Friendclass член x не примет назначение этого значения, ведет себя как закрытый член, не в случае Childclass.