Java : Protected access restriction for subclass on superclass object
<p>I know that this has been asked before in this forum but i will ask again since i don't see any good answer (so far).</p>

<p>Here it goes:</p>

<pre><code>package a;
public class A{
    protected int a;
}

package b;
public class B extends A{
}

package c;
public class C extends B｛
    public void accessField(){
        A ancient = new A();
        ancient.a = 2;  //A - That wouldn't work.

        a = 2;   //B - That works.
    }

｝
</code></pre>

<p>Why clause A) won't work? What's the rational behind this restriction on superclass object ancient access in subclass C?<br>
Thanks.</p>
