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

Popular posts from this blog

javascript - Jquery show_hide, what to add in order to make the page scroll to the bottom of the hidden field once button is clicked -

javascript - Highcharts multi-color line -

javascript - Enter key does not work in search box -