java - Access control -- protected members from outside the package -
i've got class p4 in default package (i know using default package bad practice, merely "for example" now):
import temp.p2;  public class p4 extends p2 {  public void somemethod() {         p2 p2 = new p2(); //        p2.p2default();   // error expected     p2.p2public();     p2.p2protected();  // error not expected }      }   and class p2 in package temp
package temp;  public class p2 {  protected void p2protected() {     ... }      public void p2public() {     ... }      void p2default() {     ... }      }   from access control mechanism, i'd expect  p4-- having extended p2, should able see protected member of super class outside package once imported namespace of package. 
what missing?
tia.
you defined p2 p2 = new p2(); of type p2 , not p4. if p2 of type p4 have access since subclass of p2.
Comments
Post a Comment