I use Boyarskiy OCA certification book, page 173.
So, I faced with some issue:
I have parent class Bird with protected field name and child in other package.
package bird;
public class Bird{
    protected String name;
}
and child:
package swan;
import bird.Bird;
public class Swan extends Bird{
   public void check1(){
      System.out.print(name);
   }
   public void check2(){ 
      Swan swan = new Swan();
      System.out.print(swan.name);
   }
   public void check3(){
      Bird bird = new Bird();
      System.out.print(bird.name);
   }
}
So, 
-check1 compile ok
-check2 compile, but why? check2() is create new instance of class and try to call parent field name from other package(not via inheritance).
-check3 doesn't compile.
 
     
     
    